题解|GESP202512四级 优先购买
2026-09-11 20:15:07
发布于:广东
2阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int m,n;
string ans[1024];
struct nd{
string s;int p,v;
}a[1024];
bool cmp(nd a,nd b){
if(a.v!=b.v)return a.v<b.v;
else{
if(a.p!=b.p)return a.p<b.p;
else return a.s<b.s;
}
}
int main(){
cin>>m>>n;
for(int i=1;i<=n;i++){
cin>>a[i].s>>a[i].p>>a[i].v;
}
sort(a+1,a+n+1,cmp);
int i=1,cnt=0;
while(i<=n){
if(m>=a[i].p){
m-=a[i].p;
cnt++;
ans[cnt]=a[i].s;
}
i++;
}
sort(ans+1,ans+cnt+1);
for(int i=1;i<=cnt;i++){
cout<<ans[i]<<'\n';
}
return 0;
}
这里空空如也








有帮助,赞一个