璟雯院

珺璟如晔,雯华若锦

用户工具

站点工具


icpc:problems:luogup1824
problems
名称进击的奶牛
题目编号P1824
题目链接luogu.com.cn/…
来源Luogu
算法分类二分答案
难易程度容易

进击的奶牛

想法

二分答案,求最大的可行情况。

代码实现

#include<cstdio>
#include<algorithm>
using namespace std;
 
const int N = 1e5+10;
int line[N], n, c;
bool check(int x) {
	int m=1, sum=0;
	for(int i=2; i<=n; i++) {
		if(line[i]-line[i-1]+sum < x) 
			sum += (line[i] - line[i-1]);
		else {
			m++;
			sum = 0;
		}
	}
	return c <= m;
}
 
int main() {
	scanf("%d %d", &n, &c);
	for(int i=1; i<=n; i++) {
		scanf("%d", &line[i]);
	}
	sort(line+1, line+1+n);
	int l = 0, r = 1e9+10, mid;
	while(l < r) {
		mid = (l + r + 1) / 2;
		if(check(mid))
			l = mid;
		else
			r = mid-1;
	}
	printf("%d", l);
	return 0;
}
/app/www/public/data/pages/icpc/problems/luogup1824.txt · 最后更改: 2024/01/25 12:17 由 温婕莺