トレジャーアイランド
説明:
KID日の使用航空機は、トレジャーアイランドに飛んだ多くの貴金属は、貴重な石の芸術KID品種の作品のようなよりも、上記があるが、そのような貴金属を拒否しないでください。しかし、彼だけポケット付き、ポケットは、物品Wの重量までロードすることができます。N-それぞれ金属重量に対して異なる島金属の種、 1、N- 2、...、N- S、金属又は異なり、それぞれの種類ごとの合計値がVである 。1、V 2、。 ...、V S。KIDは金属の値がいったん離れて、できるだけ多くを撮りたい、と離れて金属の価値の多くを取るために彼を尋ねました。それは金属を任意に分割することができることに留意、及び金属の価値とその比例重量。
入力
ライン1は、入力のk個のセットに続いて、テストデータのグループ番号kです。
各試験は、ライン1(1 <= W <= wは正の整数であり、3を占め 10000)、 ポケット軸受の上限を表します。第二列は正の整数、S(1 <= S <=である 100)、 金属種を表します。行3は、それぞれ、2S正の整数を有するN- 1、V 1、N- 2、V 2、...、N- S、V S、それぞれ第一、第二、...、S-金属用そして(1 <= Nの総重量の合計値 I <= 10000 ,. 1 <V = I <= 10000)。
出力
k行、入出力に対応する各行。出力は、小数点以下2桁まで正確でなければなりません。
サンプル入力
2 50 4 10 100 50 30 7 34 87 100 10000 5 1 43 43 323 35 45 43 54 87 43
サンプル出力
171.93 508.00
トピックリンク:
https://vjudge.net/problem/OpenJ_Bailian-2795
この問題は、単純である4110 - OpenJ_Bailian変形の、まったく同じ権利
リンク:https://www.cnblogs.com/sky-stars/p/11073133.html
直接コードに、何も言うことはありません
ACコード
書式#include <iostreamの> の#include <cstdioを> する#include <fstreamの> の#include <アルゴリズム> 書式#include <cmath> の#include <両端キュー> の#include <ベクトル> の#include <キュー> の#include < 文字列 > の#include <CStringの> 書式#include <マップ> 書式#include <スタック> の#include < 設定 > 書式#include <sstream提供> #define MOD 1000000007件 の#define EPS 1E-6 の#defineっ長い長い の#define INF 0x3f3f3f3f #define ME0(X)のmemset(X、0、はsizeof(x))を 使用して 名前空間STD; 構造体ギフト{ ダブルV、W; //はw / vのサイズソート応じて定義され、大きな優先W / V、つまりギフト平均高価値優先 BOOLの 演算子 <(constのギフト&C)のconst { 戻り V / wc.v / CW> EPS; } }; ギフト[ 105 ]; int型N-、 ダブルWであり; ダブル SUM = 0 ; int型メイン( ) { CIN >> N- Wである。 ため(INTI = 0 ; 私は、n <; I ++)// 输入 CIN >> [I] .V >> [I] .W。 ソート( + n)が、// 排序 ため(INTが i = 0 ; iは<、n iは++ ) { 場合(= W> [i]は.W) { 合計 + = [I] .V。 Wが - = [I] .W。 } そう であれば(W < [I] .W) { ダブル T =([I] .V / [I] .W)* W。 合計 + = T; W = 0 ; } そう であれば(Wの== 0 ) { 破ります。 } } のprintf(" %.1lfする\ n " 、合計)。 }