#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
****************************************************************/