70分求助!qwq
查看原帖
70分求助!qwq
670147
nlyta楼主2022/10/9 20:41
#include<bits/stdc++.h>
using namespace std;

long long n,m,a[1000005],tmp,l,r,ans;

bool check(long long x){
	int addn = 0;
	for(long long i = 1;i <= n;i ++) if(x < a[i]) addn += a[i] - x;
	return m <= addn;
}

int main(){
	cin >> n >> m;
	for(long long i = 1;i <= n;i ++){
		cin >> a[i];
		r = max(r,a[i]);
	}
	while(l <= r){
		long long mid = (l + r) >> 1;
		if(check(mid)) l = (ans = mid) + 1; 
		else r = mid - 1;
	}
	cout << ans;
	return 0;
}
2022/10/9 20:41
加载中...