社区讨论

求大佬们看看,100分但是wa了Subtest#1

P2678[NOIP 2015 提高组] 跳石头参与者 3已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@lob0q991
此快照首次捕获于
2023/10/29 13:16
2 年前
此快照最后确认于
2023/11/08 19:02
2 年前
查看原帖
CPP
#include <iostream>
#include <algorithm>
typedef long long ll;
using namespace std;
const int N = 1e5 + 10;
ll a[N], k, n, m;
ll rec[N];
bool check(int mid)
{
    ll start = 0, count = 0;
    for (int i = 1; i <= n; i++)
    {
        if (a[i] - start < mid) count++;
        else start = a[i];
    }
    return count <= m;
}

ll find(ll l, ll r)
{
    while (l < r)
    {
        ll mid = r + l + 1 >> 1;
        if (check(mid))
            l = mid;
        else
            r = mid - 1;
    }
    return l;
}                                                                                                                                                           

int main()
{
    cin >> k >> n >> m;
    for (int i = 1; i <= n; i++)
        cin >> a[i];
    a[n + 1] = k;
    cout << find(0, k);
    return 0;
}

回复

7 条回复,欢迎继续交流。

正在加载回复...