1 solutions
-
0
C++ :
#include<iostream> #include<algorithm> using namespace std; const int N = 105; struct food{ int fat,cat; }; food a[2*N]; int b[N]; bool comp(food x,food y){ return x.fat>y.fat; } int main(){ int n,m,k,ans=0; cin>>n>>m>>k; for (int i=1; i<=k; i++) cin>>b[i]; for (int i=1; i<=n; i++) cin>>a[i].fat>>a[i].cat; sort(a+1,a+n+1,comp); for (int i=1,x=1; i<=n && x<=m; i++) if (b[a[i].cat]){ ans+=a[i].fat; b[a[i].cat]--; x++; } cout<<ans<<endl; return 0; }
- 1
Information
- ID
- 18655
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By