#include<bits/stdc++.h>
using namespace std;
int n,m,x[int(1e6+10)]={},lo,hi,mid,ans,maxi=0;
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>x[i],maxi=max(maxi,x[i]);
lo=1;
hi=maxi;
while(lo+1<hi)
{
ans=0;
mid=(lo+hi)/2;
for(int i=1;i<=n;i++) ans+=max(0,x[i]-mid);
if(ans>=m) lo=mid;
else hi=mid;
}
ans=0;
for(int i=1;i<=n;i++) ans+=max(0,x[i]-lo);
if(ans>m) cout<<hi;
else cout<<lo;
}