0
已解决
题目链接: 酷町堂:2605
#include<iostream>
#include<algorithm>
using namespace std;
struct stu{
long long dj;//单价
long long sl;//数量
}a[100005];
bool cmp(stu a,stu b){
return a.dj<b.dj;
}
int main(){
long long N,M,cnt=0;
cin>>N>>M;
for(int i=1;i<=M;i++){
cin>>a[i].dj>>a[i].sl;
}
sort(a+1,a+M+1,cmp);
for(int i=1;i<=M;i++){
if(N>=a[i].sl){
cnt+=a[i].dj*a[i].sl;N-=a[i].sl;
}else{
cnt+=(a[i].sl-N)*a[i].dj;N=0;
}
if(!N){
break;
}
}
if(N){
cout<<"0";
return 0;
}
cout<<cnt;
}