如题:
#include <iostream>
#include <algorithm>
using namespace std;
int n,m,k=0,p[5010],q[5010],s[5010];
bool flag=false;
int main(){
cin>>n>>m;
if(n==0&m==0){
cout<<0;
return 0;
}
for (int i=0;i<m;i++){
cin>>p[i]>>q[i];
s[i]=p[i];
}
sort(s,s+m);
for (int i=0;i<m;i++){
if(q[i]!=0){
flag=true;
break;
}
}
if(flag==false){
cout<<0;
return 0;
}
for (int i=0;i<m;i++){
for (int j=0;j<m;j++){
if(p[j]==s[i]){
if(n>q[j]){
k+=p[j]*q[j];
n-=q[j];
}
else if(n<q[j]){
k+=n*p[j];
n-=n*p[j];
cout<<k;
return 0;
}
else{
k+=q[j]*p[j];
n-=q[j]*p[j];
cout<<k;
return 0;
}
}
}
}
}