非官方题解 | 废品回收
2025-09-14 17:37:07
发布于:浙江
2阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
bool cmp(long long x,long long y){
    return x>y;
}
long long n,k,ans=0,suma=0,sumb=0,a[1005],b[1005];
int main(){
    cin>>n>>k;
    for(long long i=1;i<=n;i++){
        long long v,p;
        char zl;
        cin>>zl>>v>>p;
        if(zl=='A'){
            suma++;
            a[suma]=v-p;
        }
        if(zl=='B'){
            sumb++;
            b[sumb]=v-p;
        }
    }
    sort(a+1,a+suma+1,cmp);
    sort(b+1,b+sumb+1,cmp);
    for(long long i=1;i<=k;i++){
        if(a[i]>=0){
            ans+=a[i];
        }
        if(b[i]>=0){
            ans+=b[i];
        }
    }
    cout<<ans;
    return 0;
}
这里空空如也







有帮助,赞一个