#include<bits/stdc++.h>
using namespace std;
long long a[1000000],n,x,ans=-1,max1;
int sa(int h){
	int s=0;
	for(int i=0;i<n;i++){
		if(h<a[i]){
			s+=a[i]-h;
		}
	}
	return s;
	
}
void ss(int l,int r){
	if(l<=r){
		int mid=(l+r)/2;
		if(sa(mid+1)<x&&sa(mid)>=x)	ans=mid;
		else if(sa(mid)<x)	ss(l,mid-1);
		else if(sa(mid)>x)	ss(mid+1,r);
	}
}
int main(){	
	cin>>n>>x;
	for(int i=0;i<n;i++)	cin>>a[i];
	for(int i=0;i<n;i++){
		if(a[i]>max1){
			max1=a[i];
		}
	}
	ss(0,max1);
	cout<<ans;
	return 0;
}

/**************************************************************
	Problem: 1908
	User: zzz
	Language: C++
	Result: Wrong Answer
****************************************************************/