求助,60分!
查看原帖
求助,60分!
326254
LonginusMonkey楼主2021/9/29 21:35
#include <bits/stdc++.h>
#define int long long
using namespace std;
int arr[100010];
int n,c;
int check(int mid) {
	int sum = 0;
	for(int i=1; i<=n; ++i) {
		if(arr[i] > mid) 
			sum += arr[i]-mid; 
	}
	return sum;
}
signed main() {
	cin >> n >> c;
	int maxx=0;
	for(int i=1; i<=n; ++i) {
		cin >> arr[i];
		maxx = max(arr[i], maxx);	
	}
	int ans = 0;
	int l = 0, r = maxx;
//	cout << l << " " << r << endl;
	while(l <= r) {
		int mid = l+r >> 1;
		if(c > check(mid)) {
			r = mid-1;
		}
		else
		{
			l = mid+1;
		}
//		cout << mid << " " << check(mid) << endl;
	}
	cout << l-1;
	return 0;
}
2021/9/29 21:35
加载中...