要注意时单加,就是指一个牛奶多少钱
可以for一个一个的加,什么时候到需求量的时候就bz退出
上代码:
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <set>
#include <map>
#include <queue>
#include <vector>
using namespace std;
int n,m,x,y,z,a[10005],zs,bz,s;
struct ss{
int q;
int nn;
}v[10005];
bool cmp(ss x,ss y){
if(x.q==y.q)return x.nn>y.nn;
else return x.q<y.q;
}
int main(){
freopen("milk.in", "r", stdin);
freopen("milk.out", "w", stdout);
cin>>zs>>n;
for(int i=0;i<n;i++){
cin>>v[i].q>>v[i].nn;
}
sort(v,v+n,cmp);
for(int i=0;i<n;i++){
for(int j=0;j<v[i].nn;j++){
s+=v[i].q;
x++;
if(x>=zs){
bz=1;
break;
}
}
if(bz==1){
break;
}
}
cout<<s;
return 0;
}