题目
#include<bits/stdc++.h>
using namespace std;
long long n,k,a[100010],l=0,r,mid,ans;
int d(int x){
int ans=0;
for(int i=1;i<=n;i++){
if(a[i]-x>0) ans+=a[i]-x;
}
return ans;
}
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
r=max(a[i],r);
}
while(l<=r){
mid=(l+r)/2;
if(d(mid)>=k){
ans=max(ans,mid);
l=mid+1;
}
else r=mid-1;
}
cout<<ans;
return 0;
}