#include<bits/stdc++.h>
using namespace std;
long long n,m;
long long a[1000010];
bool p(int h){//求砍树高度为h时,能否得到m的木材
int tot=0;
for(int i=1;i<=n;i++)
if(a[i]>h)
tot+=a[i]-h;
return tot>=m;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>a[i];
int left=1,right=1e9,mid,ans;
while(left<=right){ //二分查找
mid=(left+right)/2;
if(p(mid)){ //可为答案
ans=mid; //记录答案
left=mid+1; //继续查找
}
else right=mid-1;
}
cout<<ans;
return 0;
}