4110:サンタクロースの贈り物-Santa Clauのギフト(貪欲アルゴリズム)

 

合計時間制限: 
1000ミリ秒
 
メモリ制限: 
65536kB
説明

クリスマスは、お菓子の箱は、独自の価値や重みを持っている今、どのように異なるお菓子の箱、キャンディの各ボックスは、離れて任意のバルク組成に分割することができ、配布の準備ができてサンタAキャンディの街で、来ています。サンタさんのトナカイは唯一お菓子の一定の重量に耐えることができ、サンタクロースは、どのくらいのお菓子の値を求めるために取ることができます。

エントリー
最初の行は、2つの部分、それぞれ正の整数菓子箱N(1 <= N <= 100)で構成され(0 <10000 <W)、二つの数は、スペースで区切られたwは、トナカイは、最大の正の整数の重量に耐えることができますオープン。残りのn行は、各キャンディのボックスに対応し、それはスペースで区切られた2つの部分、すなわち正の整数重量正の整数キャンディボックスの値とW V、から成ります。
輸出
サンタクロースは、キャンディの合計値の最大出力を取る小数を予約することができます。改行で終わる一行として出力。
サンプル入力
4 15 
100 4 
412 8 
266 7 
591 2
サンプル出力
1193.0

1の#include <ビット/ STDC ++ H>
 2  使用して 名前空間STDを、
3  構造体T {
 4      int型V、W。
5      のp;
6  }。
7  ブールCMP(T、T b)は{
 8      リターン AP> BP。
9  }
 10  
11  INT メイン(){
 12      INT N、M。
13      二重 ANS = 0 14      CIN >> N >> M。
15      TをT [N]。
16      のためのint型 I =0 ; I <N; I ++ ){
 17          CIN >> T [i]は.V >> T [i]は.W。
18          T [i]は.P = T [I]・V / T [i]は.W。
19      }
 20      ソート(T、T + N、CMP)。
21      INT iは= 0 22      一方、(M> 0 ){
 23          であれば(MT [I] .W> 0 ){
 24              ANS + = T [i]は.V。
25              M- = T [i]は.W。
26              I ++ ;
27          }
 28          {
 29             ANS + = T [i]は.P * M。
30              、M = 0 31          }
 32      }
 33      のprintf(" %.1lf \ n " 、ANS)。
34      リターン 0 35 }

 

おすすめ

転載: www.cnblogs.com/aiqinger/p/12584306.html