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