请大佬来看看代码为什么不对,题目p1873
查看原帖
请大佬来看看代码为什么不对,题目p1873
1020531
liuyiyang_khaili楼主2023/11/23 17:23
using namespace std;
const int N=1e6+7;
int a[N];
int main(){
	int n,m;
	scanf("%d",&n,&m);
	int maxx,minn;
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
	sort(a+1,a+n+1);
	maxx=a[1];
	minn=a[1];
	for(int i=2;i<=n;i++){
		maxx=max(maxx,a[i]);
		minn=min(minn,a[i]);
	}
	int l=minn,r=maxx;
	while(l<=r){
		int mid=(l+r)/2;
		int num=0;
		for(int i=1;i<=n;i++){
			num+=(a[i]-mid);
		}
		if(num<m){
			r=mid-1;
		}
		if(num>m){
			l=mid+1;
		}
		if(num==m){
			printf("%d",mid);
			return 0;
		}
	}
	printf("%d",r);
	return 0;
}``````
2023/11/23 17:23
加载中...