#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
struct gem{
int w,v;
gem():w(0),v(0){};
bool operator<(const gem &a)const{
return this->w>a.w;
}
};
int main()
{
int v,n;
while(cin>>v &&v!=0){
cin>>n;
vector<gem> vec;
for(int i=0;i<n;++i){
gem temp;
cin>>temp.w>>temp.v;
vec.push_back(temp);
}
sort(vec.begin(),vec.end());
int sum=0;
int t=0;
for(auto it=vec.begin();it!=vec.end();++it){
if((sum+(*it).v)<=v){
sum+=(*it).v;
t+=(*it).v*(*it).w;
}else{
t+=(v-sum)*(*it).w;break;
}
}
cout<<t<<endl;
}
return 0;
}
119.hdu--2111--Saving HDU
最新推荐文章于 2024-01-12 23:08:38 发布