求大佬指教,不太清楚怎么改
查看原帖
求大佬指教,不太清楚怎么改
1302672
guadeng楼主2024/3/22 19:58
#include<iostream>
#include<algorithm>
#include<cstring>
#define N 1000010
using namespace std;
int main()
{
	long long n, m,res, left, right;
	scanf_s("%lld %lld", &n, &m);
	long long h[N];
	for (int i = 1; i < n; i++) {
		scanf_s("%lld", &h[i]);
	}
	sort(h + 1, h + n + 1);
	
	left = h[1];
	right = h[n + 1];
	while(left+1<right)
	{
		int  mid = (right + left) / 2;
		res = 0;
		for (int i = 0; i < n; i++) {
			if (h[i] > mid)res += h[i] - mid;
			if (res < m)left = mid;
			else right=mid;
		}
	
	}
	printf("%lld", left);
	return 0;
}
2024/3/22 19:58
加载中...