cpp37分代码
#include <bits/stdc++.h>
using namespace std;
struct edge{
int cost,v;
}rmb[10000];
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=m;i++)
cin>>rmb[i].cost>>rmb[i].v;
if(n==0 && m==0){
cout<<0;
return 0;
}
for(int i=1;i<=m;i++)
for(int j=1;j<=m-i;j++)
if(rmb[j].cost>rmb[j+1].cost)
swap(rmb[j].cost,rmb[j].cost);
long long sum=0;
for(int i=1;i<=m;i++){
if(n>=rmb[i].v){
n-=rmb[i].v;
sum+=rmb[i].cost*rmb[i].v;
}
else{
sum+=n*rmb[i].cost;
break;
}
}
cout<<sum;
return 0;
}