数据3是第一行是 8 3 1,然后三个数据是2 4 7,然后结果是2,我在编译器输出了2,但是re了
by fhz2574643437 @ 2024-03-08 21:37:58
@[fhz2574643437](/user/1194389) ~~py好久没用了,我不会调,~~但是友情提醒,下载的不是答案,而是你输出的数据
by __Rickysun__ @ 2024-03-08 21:43:48
@[Rickysun](/user/824205) 您好,请问我也是8 3 1,2 4 7这组数据hacked,我自己写出的程序输出结果是3,但是下载的答案是2,但问题我觉得这组数据不是移除2才是最小距离最大吗,然后按理来说应该是3吧,可是我从上面下载的答案是2 。
```cpp
#include<iostream>
#include<algorithm>
using namespace std;
int main() {
int l = 0, r = 0, ans = 0, t, L, M, N, i, distance[50005] = { 0 }, gap[50005] = { 0 },m, g;
cin >> L >> N >> M;
for (i = 1; i <= N; i++) {
cin >> distance[i];
gap[i] = distance[i] - distance[i - 1];
}
r = L;
l = 1;
while (l<=r) {
m = 0;
g = 0;
t = (l + r) / 2;
for (i = 1; i <= N; i++) {
g += gap[i];
if (g >= t)
g = 0;
else
m++;
}
if (m == M) {
ans = t;
l = t + 1;
}
else if (m > M) {
r = t - 1;
}
else
l = t + 1;
}
cout << ans;
}
```
>这里附上我的代码,希望您能帮我看看哪里出了问题,得分是70分
by Dream_perday @ 2024-03-12 18:34:14
@[Rickysun](/user/824205) 是不是我理解错题意了还是啥
by Dream_perday @ 2024-03-12 18:35:07
@[Rickysun](/user/824205) 不用了,我大概知道我错在哪了,我没考虑终点和终点前一个石头的距离,~~成joker了~~
by Dream_perday @ 2024-03-12 19:05:39
@[Dream_perday](/user/1218760) 下载的样例是你自己程序输出的数据(
by QAQ_juruo @ 2024-03-14 18:48:59
@[QAQ_juruo](/user/1098781) 不是的吧,我之前跑出来是3,但下载的样例给的是二
by Dream_perday @ 2024-03-14 21:21:10