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 }
posted @ 2012-10-23 18:38  Naix_x  阅读(173)  评论(0)    收藏  举报