大佬求助
查看原帖
大佬求助
728881
Mark520楼主2023/8/9 14:53
#include<bits/stdc++.h>
using namespace std;
long long num;
long long a[1000005];
long long s;
bool check(int mid){
	int t=0;
	for(int i=0;i<num;i++){
		if(a[i]>s)t+=a[i]-s;
	}
	if(t>=s){
		return 1;
	}else{
		return 0;
	}
} 
int main(){

	cin>>num>>s;
	long long mid,end,start=1;
	for(int i=0;i<num;i++){
		cin>>a[i];
		start=max(start,a[i]);
	}
	while(end<=start){
		mid=(start+end)/2;
		if(check(mid)){
			start=mid+1;
		}else{
			end=mid-1;
		}
	}
	
	cout<<start-1;
	return 0;
}
2023/8/9 14:53
加载中...