极限压缩(只有6行!!)
2026-08-06 10:34:27
发布于:四川
11阅读
0回复
0点赞
直接上代码
#include<iostream>
using namespace std;
const int maxn=1e6+6;
long long n,a[maxn],l=1,r=1e9,ans,k;
bool cheak(long long x){long long sum=0;for(int i=1;i<=n;i++){if(a[i]>x){sum+=(a[i]-x);}}return sum>=k;}
int main(){cin>>n>>k;for(int i=1;i<=n;i++)cin>>a[i];while(l<=r){long long mid=(l+r)>>1;if(cheak(mid)){ans=mid,l=mid+1;}else{r=mid-1;}}cout<<ans;}
这里空空如也






有帮助,赞一个