啊题解
2025-04-13 15:18:55
发布于:四川
1阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int L, n, m, a[50005];
int func(int x) {
int cnt = 0;
int pos = 0;
for (int i = 1; i <= n; i++) {
if (a[i] - pos < x) cnt++;
else pos = a[i];
}
return cnt;
}
int main() {
cin >> L >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
a[++n] = L;
int l = 0, r = L, ans;
while (l <= r) {
int mid = (l + r) / 2;
if (func(mid) <= m){
l = mid + 1;
ans = mid;
} else {
r = mid - 1;
}
}
cout << ans;
return 0;
}
全部评论 1
awESDGVQEWTGaESWRY
2025-04-13 来自 四川
0
有帮助,赞一个