第一个ac 后面全wa
查看原帖
第一个ac 后面全wa
552776
this_is_hhh楼主2021/12/15 20:48
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
	int N;
	long long int M;
	cin>>N>>M;
	int a[1000005];
	int maxx=0;
	int minn=9999999;
	for(int i=1;i<=N;i++){
		cin>>a[i];
		if(a[i]>=maxx){
			maxx=a[i];
		}
		if(a[i]<=minn){
			minn=a[i];
		}
	}
	long long int sum=0;
	int ans=0;
	int middle=(maxx+minn)/2;
	while(minn<=maxx){
		for(int i=1;i<=N;i++){
			if(a[i]>middle){
				sum+=a[i]-middle;
			}
		}
		if(sum>M){
			minn=middle+1;
			middle=(maxx+minn)/2;
			sum=0;
		}else{
			maxx=middle-1;
			ans=middle;
			middle=(maxx+minn)/2;
			sum=0;
		}
	}
	cout<<ans;
	return 0;
}
2021/12/15 20:48
加载中...