题解
2024-07-24 17:21:55
发布于:上海
8阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[1000005];
long long s(int h){
long long sum=0;
for(int i=1;i<=n;i++){
if(a[i]>h){
sum+=a[i]-h;
}
}
return sum;
}
int main(){
cin>>n>>m;
int maxn=0;
for(int i=1;i<=n;i++){
cin>>a[i];
maxn=max(maxn,a[i]);
}
int l=0,r=maxn,mid;
int ans;
while(l<=r){
mid=(l+r)>>1;
if(s(mid)>=m){
ans=mid;
l=mid+1;
}else{
r=mid-1;
}
}
cout<<ans;
return 0;
}
这里空空如也
有帮助,赞一个