#include <bits/stdc++.h>
using namespace std;
long long m,n,h1,h2,a[1000010],mx,h,mid;
int main(){
cin>>n>>m;
for(long long i=0;i<n;i++)cin>>a[i],mx=max(mx,a[i]);
h1=mx;
h2=0;
while(1){
h=0;
mid=(h1+h2)>>1;
for(long long i=0;i<n;i++)if(a[i]>mid)h+=a[i]-mid;
if(h<m) h1=mid-1;
else h2=mid+1;
if(h1<h2)break;
/*
这里为什么不能写成
if(h1<=h2)break;
*/
}
cout<<h2-1;
return 0;
}