社区讨论
why?
B4452[GESP202512 四级] 优先购买参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mju4svyl
- 此快照首次捕获于
- 2025/12/31 22:48 2 个月前
- 此快照最后确认于
- 2026/01/03 10:55 2 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
int n,m;
struct node{
string name;
int price;
int value;
};
node a[100001];
int cmp(node x,node y){
if(x.value!=y.value)return x.value<y.value;
else if(x.price!=y.price)return x.price<y.price;
else return x.name<y.name;
}
string s[100001];
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>a[i].name>>a[i].price>>a[i].value;
}
sort(a+1,a+m+1,cmp);
int o=0,sum=0,k=0;
for(int i=1;i<=m;i++){
if(a[i].price<n&&a[i].value!=o){
n-=a[i].price;
o=a[i].value;
s[++k]=a[i].name;
}
}
sort(s+1,s+k+1);
cout<<s[1];
for(int i=2;i<=m;i++){
cout<<endl<<s[i];
}
}
5分,考场零分,不清楚死因
回复
共 2 条回复,欢迎继续交流。
正在加载回复...