#include<bits/stdc++.h>
using namespace std;
long long a[1000000],n,m,h=-1,max1;
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);
	cout<<h;
	return 0;
}

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