3、8过不了,WA
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#include<ctype.h>
#include<algorithm>
#include<list>
using namespace std;
int h[150000];
int compar(const void* a, const void* b)
{
return *(int*)a - *(int*)b;
}
int main()
{
int L, N, K;
cin >> L >> N >> K;
int a = 0, b = 0;
for (int i = 0; i < N; i++)
{
cin >> a;
h[i] = a - b;
b = a;
}
h[N] = L - b;
qsort(h, N + 1, 4, compar);
int l = 0, r = h[N], mid = (l + r + 1) / 2;
int ans = mid;
do {
int k = 0;
for (int i = N; h[i] >= ans && i>=0; i--)
{
k += h[i] / ans - ((h[i] % ans == 0) ? 1 : 0);
}
if (k > K) {
l = mid;
mid = (r + l) / 2;
}
else {
r = mid;
mid = (r + l + 1) / 2;
}
ans = (r + l + 1) / 2;
} while (l + 1 < r);
cout << ans;
}