#include<bits/stdc++.h> using namespace std; struct hk{ int dj; int sl; }a[2000]; int m,n,s,t,c; bool cmp(hk x,hk y){ return x.dj<y.dj; } int main(){ cin>>m>>n; for(int i=1;i<=n;i++){ cin>>a[i].dj>>a[i].sl; } sort(a+1,a+1+n,cmp); if(a[1].sl>=m) s=a[1].dj*m; else{ s=s+a[1].dj*a[1].sl; c=c+a[1].sl; t=m-c; for(int i=2;i<=n;i++){ if(a[i].sl>=t){ s=s+a[i].dj*t; c=c+t; t=m-c; } else{ s=s+a[i].dj*a[i].sl; c=c+a[i].sl; t=m-c; } if(t==0) break; } } cout<<s; return 0; } /************************************************************** Problem: 1730 User: zhuanghaoxiang Language: C++ Result: Accepted Time:20 ms Memory:2092 kb ****************************************************************/