#include<bits/stdc++.h>
using namespace std;
long long n,m=0,k=1,l,ans1,e,r=-1,a[10000001];
long long ans;
int p(long long int x){
	e=0;
	for(int i=1;i<=n;i++){
		if(a[i]>x){
			e+=a[i]-x;
		}
	}
	if(e==ans){
	//	cout<<-12<<endl;
		return 1;
	}else if(e<ans){
	//	cout<<-43<<endl;
		return 2;
	}else{
	//	cout<<-123<<endl;
		return 4;
	}
	
}
int main(){
	cin>>n>>ans;
	
	for(int i=1;i<=n;i++){
		cin>>a[i];
		if(a[i]>m){
			m=a[i];
		}
	}
//	cout<<m<<endl;
	l=m;
	while(k<l){
		ans1=(k+l)/2;
		if(p(ans1)==1){
			r=ans1;
			break;
		}else if(p(ans1)==2){
			l=ans1-1;
		}else{
			k=ans1+1;
		}
	//	cout<<ans<<' ';
	}
	cout<<r;
}
/**************************************************************
	Problem: 1908
	User: zhengzihao
	Language: C++
	Result: Wrong Answer
****************************************************************/