照着题解写的都不行,哎。。。。。
查看原帖
照着题解写的都不行,哎。。。。。
742157
ZYK_luogu楼主2023/4/9 16:38

为什么这题只有一篇题解啊!!!!!

#include<iostream>
using namespace std;
#define maxn 100005

int L, N, K;
int a[maxn];
int l = 0, r = N + 1, mid = 0, ans = 0;

// x为二分出来的空旷指数
bool P(int x) {
	int tot = 0, now = 0; // tot 为若想实现空旷指数要增设几个路标
	for(int i = 1; i < N; i ++)
		if(a[i] - now > x) {
			now = now + x;
			i --;
			tot ++;
		} else
			now = a[i];
	return tot <= K;
}

int main() {
	cin >> L >> N >> K;
	for(int i = 1; i <= N; i ++)
		cin >> a[i];
	while(l <= r)
		if(P(mid = l + (r - l) / 2))
			ans = mid, r = mid - 1;
		else
			l = mid + 1;
	cout << P(-1);
	return 0;
}
2023/4/9 16:38
加载中...