原创代码
仅供参考
欢迎评论O(∩_∩)O~
/*
ID: 输你自己的
PROG: milk
LANG: C++
*/
#include <iostream>
#include <cmath>
#include <cstdlib>
#include <cstring>
#include <string>
#include <algorithm>
#include <cstdio>
using namespace std;
struct ss{int a,b;};
ss s[5005];
bool c(const ss &z,const ss &v)
{
if(z.a!=v.a) return z.a<v.a;
else return z.b>v.b;
}
int main()
{
freopen("milk.in","r",stdin);
freopen("milk.out","w",stdout);
memset(s,0,sizeof(s));
int m,n;
cin>>m>>n;
for(int i=1;i<=n;i++)
cin>>s[i].a>>s[i].b;
sort(s+1,s+1+n,c);
int k=0;
int ans=0;
while(m!=0)
{
int rep;
k++;
rep=min(s[k].b,m);
ans+=s[k].a*rep;
m-=rep;
}
cout<<ans<<endl;
return 0;
}
ps:这个问题是贪心,排序,每次选最便宜的,直到获得牛奶数达到