一、题目
二、代码
思路分析:
又是闹心的一题,用 python 写虽然省力,但是想拿满分有点不省心
注意:
学了一招二维列表的使用,及调用,很方便
对于题目中出现小数保留,所以初始的 库存列表和售价列表应为 float 类型
比较纳闷的就是 最后那个 print 我以为放在 break 前就可以,反正退出去时,n 一定为 0,然而不是,每一步还是分开写比较好
m, n = map(int, input().split())
num = list(map(float, input().split()))
price = list(map(float, input().split()))
price_ave = [[price[i]/num[i],i] for i in range(m)]
price_ave.sort(reverse=True)
money = 0
for price_s,j in price_ave:
if n !=0:
if num[j] >=n:
money = money + n*price_s
n = 0
else:
money = money + price[j]
n = n - num[j]
else:
break
print("%.2f" % money)