二分
2024-07-30 16:56:25
发布于:广东
0阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int h[1000005],n,m,l,r,mid,ans;
bool c(int x){
long long sum=0;
for(int i=1;i<=n;i++){
if(h[i]>=x) sum+=(h[i]-x);
}
return sum>=m;
}
int main(){
cin >> n >> m;
for(int i=1;i<=n;i++){
cin>>h[i];
r=max(r,h[i]);
}
while (l<=r){
mid=(l+r)>>1;
if(c(mid)){
ans=mid;
l=mid+1;
}
else r=mid-1;
}
cout << ans;
}
这里空空如也
有帮助,赞一个