以下是AC代码
#include<bits/stdc++.h>
using namespace std;
struct node{
int price,amount;
}p[2000005];
bool cmp(node p1,node p2){
return p1.price<p2.price;
}
int main(){
long long sum,n,mark=1,ans=0;
cin>>sum>>n;
for(int i=1;i<=n;i++) cin>>p[i].price>>p[i].amount;
sort(p+1,p+1+n,cmp);
while(sum>p[mark].amount){
sum-=p[mark].amount;
ans+=p[mark].price*p[mark].amount;
mark++;
}
ans+=p[mark].price*sum;
cout<<ans;
return 0;
}