蒟蒻只A了一个点,求助!
查看原帖
蒟蒻只A了一个点,求助!
108881
松毛虫楼主2021/8/6 22:43
#include<bits/stdc++.h>
#define smc 0
using namespace std;
long long tre[1000001];
long long n;
long long bsearch(long long x){
	long long l = 1,r = 1000000001;
	long long h;
	while(l < r){
		long long mid = l + (r - l) / 2;
		h = 0; 
		
		for(long long i = 1;i <= n;i++){
			if(mid <= tre[i]) h += (tre[i] - mid);
			#if smc == 2
			cout<<"h:"<<h<<" ";
			#endif   
		}
		#if smc == 1
		cout<<"h:"<<h<<" ";
		#endif
		if(h == x) return mid;
		else if(h < x) r = mid;
		else l = mid+1;
	}
	return -1;
}
int main()
{
	long long m; cin>>n>>m;
	for(long long i = 1;i <= n;i++) cin>> tre[i];
	cout<<bsearch(m);
	return 0;
}

只AC了样例1

样例2下载下来了,但是特别长,测不了,看别的讨论是开long long,但是开long long 也全WA了,求助QAQ

2021/8/6 22:43
加载中...