问题标题: c

0
0

0
已采纳
王耀斌
王耀斌
高级守护
高级守护

#include<bits/stdc++.h>
using namespace std;
long long m,n;
struct USA{
    long long jq,ml;
}a[5005];
bool cmp(USA x,USA y){
    return x.jq<y.jq;
}
int main(){
    cin>>m>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i].jq>>a[i].ml;
    }
    long long ans=0;
    sort(a+1,a+n+1,cmp);
    for(int i=1;i<=n;i++){
        if(m>=a[i].ml){
            ans+=a[i].ml*a[i].jq;
            m-=a[i].ml;
        }else{
            ans+=m*a[i].jq;
            break;
        }
    }
    cout<<ans;
    return 0;
}

我要回答