subtask没过,感觉已经把前人的坑补了
查看原帖
subtask没过,感觉已经把前人的坑补了
1419779
woodfishhhh楼主2025/1/12 16:58
#include <bits/stdc++.h>
#define ll long long
#define int long long
using namespace std;
int L, N, K; // 公路的长度,原有路标的数量,以及最多可增设的路标数量。
int check(const vector<int> &a, int num)
{
    int cnt = 0;
    for (int i = 0; i < N - 1; i++)
    {
        cnt += (a[i + 1] - a[i] - 1) / (num);
    }
    return cnt <= K;
}
int binary(const vector<int> &a)
{
    int left = 1;
    int right = L;
    while (left + 1 < right)
    {
        int mid = left + (right - left) / 2; // 猜空旷指数
        if (check(a, mid))
        {
            right = mid;
        } // 不可以——可以
        else
        {
            left = mid;
        }
    }

    return right;
}
signed main()
{
    cin >> L >> N >> K;
    vector<int> a(N);
    for (int i = 0; i < N; i++)
    {
        cin >> a[i];
    }
    cout << binary(a);
}

就是subtask过不了啊啊啊啊啊啊啊啊啊

2025/1/12 16:58
加载中...