社区讨论
求hack
P14635[NOIP2025] 糖果店参与者 3已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @mik10g4m
- 此快照首次捕获于
- 2025/11/29 16:25 3 个月前
- 此快照最后确认于
- 2025/11/30 13:40 3 个月前
赛时代码大概长这个样子
CPP#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,ans;
struct node{
int x,y;
}arr[100005];
bool cmp(node a,node b){
return a.x<b.x;
}
signed main(){
cin>>n>>m;
int hjy=LONG_LONG_MAX;
for(int i=1;i<=n;++i){
cin>>arr[i].x>>arr[i].y;
hjy=min(hjy,arr[i].x+arr[i].y);
}
sort(arr+1,arr+n+1,cmp);
int maxx=0;
for(int i=1;i<=n;++i){
if(arr[i].x*2<hjy){
if(m>=arr[i].x){
ans++;
m-=arr[i].x;
maxx=max(maxx,arr[i].x);
swap(arr[i].x,arr[i].y);
}
}
}
ans+=(m/hjy)*2;
m%=hjy;
for(int i=1;i<=n;++i){
if(m>=arr[i].x){
ans++;
m-=arr[i].x;
maxx=max(maxx,arr[i].x);
swap(arr[i].x,arr[i].y);
}
}
if(m+maxx>=hjy)ans++;
cout<<ans;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...