USACO 1.3 Mixing Milk

1.3开始了,贪心专题。

 1 /*

 2  ID: cuizhe

 3  LANG: C++

 4  TASK: milk

 5 */

 6 #include <iostream>

 7 #include <cstdio>

 8 #include <cstring>

 9 #include <cstdlib>

10 #include <map>

11 #include <algorithm>

12 using namespace std;

13 struct node

14 {

15     int price;

16     int vol;

17 }p[10001];

18 int cmp(const node &a,const node &b)

19 {

20     if(a.price < b.price)

21     return 1;

22     else

23     return 0;

24 }

25 int main()

26 {

27     int n,m,i;

28     long long ans;

29     freopen("milk.in","r",stdin);

30     freopen("milk.out","w",stdout);

31     scanf("%d%d",&n,&m);

32     for(i = 1;i <= m;i ++)

33     {

34         scanf("%d%d",&p[i].price,&p[i].vol);

35     }

36     sort(p+1,p+m+1,cmp);

37     ans = 0;

38     for(i = 1;i <= m;i ++)

39     {

40         if(p[i].vol > n)

41         {

42             ans += p[i].price*n;

43             break;

44         }

45         ans += p[i].price*p[i].vol;

46         n -= p[i].vol;

47     }

48     printf("%lld\n",ans);

49     return 0;

50 }

你可能感兴趣的:(USACO)