月餅は、伝統的に中秋節の間に食べられる中国のベーカリー製品です。詰め物とクラストの多くの種類は、地域の文化によると、伝統的な月餅で見つけることができます。今、一緒に市場の最大の総需要で、在庫量と月餅のすべての種類の価格を与え、あなたを行うことができる最大の利益を伝えることになっています。
注意:一部の在庫保管を撮影することができます。与えられた在庫量は180、150であることと月餅の3種類、および10万トン、および価格は7.5であること、7.2、および45億yuans:サンプルでは、次の状況を示しています。市場の需要が最も20万トンであることができれば、私たちができる最善のは、月餅の第二種の15万トン、及び第三種の5万トンを販売することです。したがって、総利益は、7.2 + 4.5 / 2 = 9.45(億yuans)です。
入力仕様:
各入力ファイルには、1つのテストケースが含まれています。各場合について、最初の行は、2つの正の整数含ま N(≤)、月餅の異なる種類の数、および D(≤千トン)、市場の最大総需要。そして、2行目は(千トンで)正の在庫量を与え、3行目は、の(億yuansに)正価格を与える 月餅のN種類。行のすべての数字は、スペースで区切られます。
出力仕様:
各テストケースについては、小数点以下2桁まで正確に、一列に(億yuansで)最大の利益を印刷します。
サンプル入力:
3 200
180 150 100
7.5 7.2 4.5
サンプル出力:
9.45
/ * 名前: 著作権: 著者:流照君 日:2019年8月17日19時45分19秒 説明: * / の#include <iostreamの> の#include <文字列> の#include <アルゴリズム> 書式#include <ベクトル> の#define INF 1001000 名前空間stdを使用。 typedefの長い長いLL。 二重の合計; LLのn; 構造体の人{ ダブルNUM。 ダブルのp; }。 二重RES = 0.0。 ブールCMP(人物X、人物Y) { 戻りXP / x.num> YP / y.num。 } int型のmain(int型ARGC、チャー** ARGV) { //freopen("in.txt」、 "R"、STDIN)。 //freopen("out.txt」、 CIN >> N >>合計。 人[N]。 以下のために(; iがn <I ++は、I = 0 INT) CIN >> [I] .num。 以下のために(; iがn <I ++は、I = 0 INT) CIN >> [I] .P。 ソート(+ N、CMP)。 I = 0 LL; 一方、(!和= 0 && I = N)//总卡特殊情况注意! { IF(和> = [I] .num) { RESの=のRES + [I] .P。 和=和[I] .num。 } 他 { RESの=のRES +和/ [I] .num * [I] .P。 合計= 0; } 私は++します; //printf("%.2lf\n",res); } のprintf( "%2LFする\ n"、RES)。 0を返します。 }