社区讨论
80分求条
P3853[TJOI2007] 路标设置参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mk6johzf
- 此快照首次捕获于
- 2026/01/09 15:18 2 个月前
- 此快照最后确认于
- 2026/01/11 16:30 2 个月前
CPP
#include <bits/stdc++.h>
using namespace std;
long long l, n, k;
long long a[100005];
bool check(long long o) {
if(o == 0) return false;
long long cnt = 0, pr = 0;
for(int i = 1; i <= n; i ++) {
if(a[i] - pr > o) {
cnt += (a[i] - pr) / o;
}
pr = a[i];
}
if(l - a[n] > o) cnt += (l - a[n]) / o;
return cnt <= k;
}
int main() {
cin >> l >> n >> k;
for(int i = 1; i <= n; i ++) {
cin >> a[i];
}
long long le = 0, ri = l + 1, ans = 0, mid;
while(le <= ri) {
mid = le + (ri - le) / 2;
if(check(mid)) {
ans = mid;
ri = mid - 1;
}
else le = mid + 1;
}
cout << ans;
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...