为什么for(int i=1;i<=n;i++)可过,for(int i=0;i<n;i++)不行
谢谢了ORZ
#include<bits/stdc++.h>
using namespace std;
struct zhi{
int a,b;
}z[210];
int n,m,k,fen[110],ans,q;
bool cmp(struct zhi c,struct zhi d){
return c.a>d.a;
}
int main(){
cin>>n>>m>>k;
for(int i=1;i<=k;i++){
cin>>fen[i];
}
for(int i=1;i<=n;i++){
cin>>z[i].a>>z[i].b;
}
sort(z+1,z+n+1,cmp);
for(int i=1;i<=n;i++){
if(m>0&&fen[z[i].b]>0){
m--;
fen[z[i].b]--;
ans+=z[i].a;
}
}
cout<<ans;
return 0;
}