superman

聚精会神搞建设 一心一意谋发展
posts - 190, comments - 17, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Section 1.3 - Mixing Milk

Posted on 2009-03-17 16:02 superman 阅读(99) 评论(0)  编辑 收藏 引用 所属分类: USACO
 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 class Milk
 6 {
 7 public:
 8     int price;
 9     int amount;
10 
11     bool operator < (const Milk & m) const
12     {
13         return price < m.price;
14     }
15 }   milk[5000];
16 
17 int main()
18 {
19     freopen("milk.in""r", stdin);
20     freopen("milk.out""w", stdout);
21 
22     int n, m, ans = 0;
23 
24     cin >> n >> m;
25     for (int i = 0; i < m; i++)
26         cin >> milk[i].price >> milk[i].amount;
27 
28     sort(milk, milk + m);
29 
30     int i = 0;
31     while (n)
32     {
33         ans += min(milk[i].amount, n) * milk[i].price;
34         n -= min(milk[i].amount, n);
35         i += 1;
36     }
37 
38     cout << ans << endl;
39 
40     return 0;
41 }
42 

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理