只有测试点#3没过qwq
不知道是哪里有问题啊
#include<iostream>
using namespace std;
int a[50010];
int main() {
int L, n, m, temp,pre=0;
cin >> L >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> temp;
a[i] = temp - pre;
pre = temp;
}
a[n + 1] = L - temp;
int l = 1, r = L,mid=(L+1)/2;
while (l < r-1) {
int total = 0;
bool flag = 0;
int tmp = m;
for (int i = 1; i <= n+1; i++) {
total += a[i];
if (total < mid) {
tmp--;
}
else {
total = 0;
}
if (tmp < 0) {
flag = 1; break;
}
}
if (flag) {
r = mid;
mid = (l + r) / 2;
}
else {
l = mid;
mid = (l + r) / 2;
}
}
cout << l;
}