代码如下
#include<bits/stdc++.h>
using namespace std;
struct nn{
int p,a;
}a[5005];
int n,m,sum,sun;
bool cmp(nn x,nn y){
if(x.p!=y.p) return x.p<y.p;
return x.a>y.a;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>a[i].p>>a[i].a;
}
sort(a+1,a+1+n,cmp);
int i=1;
while(sun!=n){
if(sun+a[i].a<=n){
sun+=a[i].a;
sum+=a[i].a*a[i].p;
}else{
sum+=(n-sun)*a[i].p;
sun=n;
}
i++;
}
cout<<sum;
return 0;
}