社区讨论
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 条回复,欢迎继续交流。
正在加载回复...