题解
2025-06-07 11:03:55
发布于:浙江
0阅读
0回复
0点赞
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int n,m,high=0;
cin>>n>>m;
int a[n+10];
for(int i=0;i<n;i++){
cin>>a[i];
high=max(a[i],high);
}
int l=0,r=high,ans=0;
while(l<=r){
int mid=(l+r)/2;
long long sum=0;
for(int i=0;i<n;i++){
if(a[i]>mid){
sum+=a[i]-mid;
}
}
if(sum>=m){
ans=mid;l=mid+1;
}else{
r=mid-1;
}
}
cout<<ans;
return 0;
}
这里空空如也
有帮助,赞一个