提交时间:2025-07-15 14:28:03
运行 ID: 332814
#include<bits/stdc++.h> using namespace std; struct joker{ int ai,bi; }a[210]; bool cmp1(joker x,joker y){ return x.ai>y.ai; } int s[110]; int main(){ int n,m,k; cin>>n>>m>>k; for(int i=1;i<=k;i++){ cin>>s[i]; } for(int i=1;i<=n;i++){ cin>>a[i].ai>>a[i].bi; } sort(a+1,a+n+1,cmp1); int sum=0; for(int i=1;i<=n;i++){ if(m==0){ break; } if(s[a[i].bi]&&m){ m--; sum+=a[i].ai; s[a[i].bi]--; } } cout<<sum; return 0; }