璟雯院

珺璟如晔,雯华若锦

用户工具

站点工具


icpc:problems:luogup1873
problems
名称EKO / 砍树
题目编号P1873
题目链接luogu.com.cn/…
来源Luogu
算法分类二分
难易程度容易

EKO / 砍树

想法

记录分界点,统计差值,进行二分。

代码实现

#include<cstdio>
const int N = 1e6+10;
int line[N], n, mx;
long long int m;
bool check(long long int x) {
	long long int sum = 0;
	for(int i=1; i<=n; i++) {
		if(line[i] > x)
			sum += line[i]-x;
	}
	return sum >= m;
}
int main() {
	scanf("%d %lld", &n, &m);
	for(int i=1; i<=n; i++){
		scanf("%d", &line[i]);
		if(mx < line[i])mx = line[i];
	}
	long long int l=0, r=mx, mid;
	while( l < r ) {
		mid = (l + r + 1) / 2;
		if(check(mid))
			l = mid;
		else
			r = mid-1;
	}
	printf("%lld", l);
	return 0;
}
/app/www/public/data/pages/icpc/problems/luogup1873.txt · 最后更改: 2024/03/26 00:31 由 温婕莺