#include<bits/stdc++.h> using namespace std; int n,m,money; struct Node{ int p,c; }a[5005]; bool cmp(Node x,Node y){ return x.p<y.p; } int main(){ cin>>n>>m; for(int i=1;i<=m;i++){ cin>>a[i].p>>a[i].c;//cÊÇÊýÁ¿£¬pÊǼ۸ñ } sort(a+1,a+m+1,cmp); for(int i=1;i<=m;i++){ if(a[i].c>n){ money+=a[i].p*n; break; } else { money+=a[i].c*a[i].p; n-=a[i].c; } } cout<<money; return 0; } /************************************************************** Problem: 1940 User: chenpengxi Language: C++ Result: Accepted Time:43 ms Memory:2116 kb ****************************************************************/