60分 求助!!!玄关
  • 板块灌水区
  • 楼主wangxx2012
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/12/3 13:03
  • 上次更新2024/12/3 18:09:41
查看原帖
60分 求助!!!玄关
1068781
wangxx2012楼主2024/12/3 13:03

题目

#include<bits/stdc++.h>
using namespace std;
long long n,k,a[100010],l=0,r,mid,ans;
int d(int x){
	int ans=0;
	for(int i=1;i<=n;i++){
		if(a[i]-x>0) ans+=a[i]-x;
	}
	return ans;
}
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		r=max(a[i],r);
	}
	while(l<=r){
		mid=(l+r)/2;
		if(d(mid)>=k){
			ans=max(ans,mid);
			l=mid+1;
		}
		else r=mid-1;
	}
	cout<<ans;
	return 0;
}
2024/12/3 13:03
加载中...