第二点跑4465(答案4460)
代码如下
#include <algorithm>
#include <iostream>
#include <cstdio>
#define maxn 50005
using namespace std;
size_t d0[maxn], d[maxn];
int main ()
{
size_t l;
int m, n;
cin >> l >> n >> m;
d0[0] = 0;
for (int i = 1; i <= n; i++)
cin>>d0[i];
d0[n + 1] = l;
for (int i = 0; i <= n; i++)
d[i] = d0[i + 1] - d0[i];
for (int i = 0; i < m; i++)
{
size_t position = min_element(d, d + n + 1 - i) - d;
if (d[position + 1] > d[position - 1])
d[position - 1] += d[position];
if (d[position + 1] <= d[position - 1])
d[position + 1] += d[position];
for (int j = position; j < n - i; j++)
d[j] = d[j + 1];
}
cout << *min_element(d, d + n - m);
return 0;
}