#include<iostream>
#include<algorithm>
using namespace std;
int L, n, k;
int arr[100010];
bool check(int x) {
int pos = 1;
int cnt=0;
while (arr[pos]) {
if (arr[pos] - arr[pos - 1] > x) {
cnt += (arr[pos] - arr[pos - 1]) / x;
if ((arr[pos] - arr[pos - 1]) % x == 0)cnt--;//这个很重要
}
pos++;
}
return cnt <= k;
}
int main() {
cin >> L >> n >> k;
for (int i = 0; i < n; i++)cin >> arr[i];
sort(arr, arr + n);
int l = 0, r = L;
while (l < r) {
int mid = l + r >> 1;
if (check(mid))r = mid;
else l = mid + 1;
}
cout << l << endl;
return 0;
}
v [TJOI2007]路标设置
最新推荐文章于 2024-07-25 21:11:40 发布