社区讨论

求hack

P14635[NOIP2025] 糖果店参与者 3已保存回复 4

讨论操作

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

当前回复
4 条
当前快照
1 份
快照标识符
@mik31mql
此快照首次捕获于
2025/11/29 17:22
3 个月前
此快照最后确认于
2025/11/30 16:10
3 个月前
查看原帖
目前没过WA 75,但是不知道是不是我在家写错了。其他几条帖子的hack试过了,都过了
CPP
#include<bits/stdc++.h>
using namespace std;
#define N 100005
#define int long long
struct node {
    int x, y;
} a[N];
int n, m, X = LLONG_MAX, ans;
int check(int x) {
    int res = m / X * 2, now = m % X;
    res -= x * 2;
    now += x * X;
    for (int i = 1; i <= n; i++) {
        if (a[i].x > now) break;
        now -= a[i].x;
        res++;
    }
    ans = max(ans, res);
    return res;
}
bool cmp(node a, node b) {
    return a.x < b.x;
}
signed main() {
    // freopen("candy.in", "r", stdin);
    // freopen("candy.out", "w", stdout);
    cin >> n >> m;
    for (int i = 1; i <= n; i++) {
        cin >> a[i].x >> a[i].y;
        X = min(X, a[i].x + a[i].y);
    }
    sort(a + 1, a + n + 1, cmp);
    check(0);
    int l = 1, r = m / X;
    while (l < r - 2) {
        int mid = (l + r) / 2;
        if (check(mid) > check(mid + 1)) l = mid;
        else r = mid + 1;
    }
    for (int i = l; i <= r; i++) check(i);
    cout << ans;
}

回复

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

正在加载回复...