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