50分代码:
#include<bits/stdc++.h>
using namespace std;
long long a[1000001];
int main(){
long long mid,n,m,l=1,r=-1,s;
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]>r){
r=a[i];
}
}
while(l<r){
s=0;
mid=l+(r-l)/2;
for(int j=1;j<=n;j++){
if(a[j]>mid){
s=s+(a[j]-mid);
}
}
if(s<m){
r=mid;
}else{
l=mid+1;
}
}
cout<<mid;
return 0;
}
提交记录:
https://www.luogu.com.cn/record/149213156