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

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