題目描述
月餅是中國人在中秋佳節(jié)時(shí)吃的一種傳統(tǒng)食品戳粒,不同地區(qū)有許多不同風(fēng)味的月餅。現(xiàn)給定所有種類月餅的庫存量蔚约、總售價(jià)奄妨、以及市場的最大需
求量苹祟,請你計(jì)算可以獲得的最大收益是多少。
注意:銷售時(shí)允許取出一部分庫存树枫。樣例給出的情形是這樣的:假如我們有3種月餅,其庫存量分別為18砂轻、15、10萬噸厨喂,總售價(jià)分別為75庄呈、
72蜕煌、45億元。如果市場的最大需求量只有20萬噸诬留,那么我們最大收益策略應(yīng)該是賣出全部15萬噸第2種月餅、以及5萬噸第3種月餅故响,獲得
72 + 45/2 = 94.5(億元)傀广。
輸入描述:
每個(gè)輸入包含1個(gè)測試用例。每個(gè)測試用例先給出一個(gè)不超過1000的正整數(shù)N表示月餅的種類數(shù)彩届、以及不超過500(以萬噸為單位)的正整數(shù)
D表示市場最大需求量。隨后一行給出N個(gè)正數(shù)表示每種月餅的庫存量(以萬噸為單位)樟蠕;最后一行給出N個(gè)正數(shù)表示每種月餅的總售價(jià)(以億
元為單位)。數(shù)字間以空格分隔靠柑。
輸出描述:
對每組測試用例寨辩,在一行中輸出最大收益,以億元為單位并精確到小數(shù)點(diǎn)后2位靡狞。
輸入例子:
3 20
18 15 10
75 72 45
輸出例子:
94.50
******************************手動(dòng)分割*******************************
解題思路:
1.首先根據(jù)總售價(jià),總庫存隔嫡,計(jì)算出每種月餅的單價(jià)甸怕。
2.通過月餅的單價(jià)由高到低甘穿,按庫存與需求的關(guān)系計(jì)算總收入,使利益最大化梢杭。
代碼:
a,b = map(int,input().split())
shu = input().split()
jia = input().split()
price = {}
for i in range(a):
price[i] = float(jia[i])/float(shu[i])
price2 = sorted(price, key=lambda i:price[i], reverse=True)
# print(price2)
Sum = 0
for i in price2:
if b > float(shu[i]):
Sum += float(shu[i])*price[i]
b -= float(shu[i])
else:
Sum += price[i]*b
break
print("{:.2f}".format(Sum))