74求调
查看原帖
74求调
1658274
A_ZHEN_楼主2025/7/19 16:28
#include<bits/stdc++.h>
using namespace std;
struct milk{
    int c,m;
}k[2000000];
bool cmp(milk a,milk b){
    if(a.c!=b.c){
        return a.c<b.c;
    }else{
        return a.m>b.m;
    }
}
int main(){
    int n,f,num=0;
    cin>>n>>f;
    for(int i=0;i<f;i++){
        scanf("%d%d",&k[i].c,&k[i].m);
    }
    sort(k,k+f,cmp);
    for(int i=0;i<f;i++){
        if(n-k[i].m>0){
            num+=k[i].c*k[i].m;
            n-=k[i].m;
        }else if(n-k[i].m==0){
            num+=k[i].c*k[i].m;
            n-=k[i].m;
            cout<<num<<endl;
            return 0;
        }else{
            num+=(k[i].m-n)*k[i].c;
            cout<<num<<endl;
            return 0;
        }
    }
    cout<<num<<endl;
    return 0;
}
2025/7/19 16:28
加载中...