#include <bits/stdc++.h>
using namespace std;
long long n,m,l=0,r=-1;
long long a[1000201];
long long mid;
bool cut(int h){
int s=0;
for(int i=1;i<=n;i++){
if(a[i]>h){
s+=(a[i]-h);
if(s>m) return 1;
}
}
return 0;
}
int main(){
scanf("%lld%lld",&n,&m);
for(int i=1;i<=n;i++){
scanf("%lld",a+i);
r=max(r,a[i]);
}
while(l<=r){
mid=(l+r)>>1;
if(cut(mid)){
l=mid+1;
} else r=mid-1;
}
printf("%lld",r);
return 0;
}