社区讨论

性感二分,在线求调

P1824[USACO05FEB] 进击的奶牛 Aggressive Cows G参与者 3已保存回复 3

讨论操作

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

当前回复
3 条
当前快照
1 份
快照标识符
@m4mabyxz
此快照首次捕获于
2024/12/13 13:05
去年
此快照最后确认于
2025/11/04 12:57
4 个月前
查看原帖
#1WA了,求助大佬
CPP
#include<bits/stdc++.h>
#define int long long
using namespace std;
  
const int SIZE = 1e6 + 5;
int m, n, a[SIZE];
  
bool check(int x) {
    int sum = 1, cnt = 0;
    for (int i = 2; i <= n; i++) {
        int t = a[i] - a[i - 1] + cnt;
        if(t < x) {
            cnt += a[i] - a[i - 1];
            continue;
        }
        sum++;
        cnt = 0;
    }
    if (sum >= m) return 1;
    return 0;
}
  
signed main() {
    cin >> n >> m;
    for (int i = 1; i <= n; i++)
        cin >> a[i];
    int r = a[n] + 1, l = 0;
    while (l + 1 < r) {
        int mid = (l + r) >> 1;
        if (check(mid)) l = mid;
        else r = mid;
    }
    cout << l << '\n';
    return 0;
}

回复

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

正在加载回复...