1 solutions
-
0
#include<bits/stdc++.h> using namespace std; const int N=1010; struct Node{ string name; int p; int price; }s[N]; bool cmp(Node a,Node b) { if(a.p<b.p) return 1; if(a.p==b.p&&a.price<b.price) return 1; if(a.p==b.p&&a.price==b.price&&a.name<b.name) return 1; return 0; } string ss[N]; int main() { int m,n; cin>>m>>n; for(int i=1;i<=n;i++) { cin>>s[i].name>>s[i].price>>s[i].p; } sort(s+1,s+n+1,cmp); int idx=0; for(int i=1;i<=n;i++) { if(s[i].price<=m) { m-=s[i].price; ss[++idx]=s[i].name; } } sort(ss+1,ss+idx+1); for(int i=1;i<=idx;i++) { cout<<ss[i]<<endl; } return 0; }
- 1
Information
- ID
- 3022
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 9
- Tags
- # Submissions
- 16
- Accepted
- 2
- Uploaded By