wa了五个点:Subtask #0的3,4,7,11和Subtask #1的1
#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
int q[500010] = { 0 };
bool check(int n, int m, int x)
{
int i = 0, num = 0, now = 0;
for (i = 0; i < n + 1; ++i)
{
if (q[i] - q[now] < x)num++;
else now = i;
if (num > m)break;
}
if (num > m)return 0;
else return 1;
}
int main()
{
int s = 0, n = 0, m = 0, i = 0, res = 0;
scanf("%d %d %d", &s, &n, &m);
for (i = 0; i < n; i++)
{
scanf("%d", &q[i]);
}
q[n] = s;
int l = 0, r = s;
while (l < r)
{
int mid = l + r + 1 >> 1;
if (check(n, m, mid))l = mid;
else r = mid - 1;
}
printf("%d", l);
return 0;
}