社区讨论

hack数据

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

讨论操作

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

当前回复
4 条
当前快照
1 份
快照标识符
@min42pfq
此快照首次捕获于
2025/12/01 20:14
3 个月前
此快照最后确认于
2025/12/03 21:00
3 个月前
查看原帖
Hack数据 如下代码
CPP
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
int n;
ll m;
const int N = 1e5+50;
pair<ll,int> a[N*2];
int main()
{
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        int x,y;
        cin>>x>>y;
        a[i*2-1]=make_pair(x+y,-1);
        a[i*2]=make_pair(x*2,1);
    }
    sort(a+1,a+1+2*n);
    m*=2;
    ll cnt=0;
    for(int i=1;i<=2*n;i++){
        if(m>0 && a[i].first<=m){
            if(a[i].second<0){
                cnt += m/a[i].first;
                break;
            }
            else{
                m -= a[i].first;
                cnt++;
            }
        }
         
    }
    cout<<cnt<<endl;
    return 0;
}
上述方法,通过将(x+y)/2变成一个新的物品,与原序列x合在一起贪心,通过按降序排序,遇到(x+y)/2就一直选求解,此方法漏洞很大,但能ac
hack数据「 n=1 m=3 x1=4 y1=2 」

回复

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

正在加载回复...