折叠

PAT乙级-1020 月饼

 

 解题代码:

 

N = list(map(int ,input().rstrip().split()))

#月饼总库存
kind_mc = list(map(float ,input().rstrip().split()))
#月饼总售价
sale_mc = list(map(float ,input().rstrip().split()))
#每万吨售价
every_sale_mc = []
#需求量
re_mc = N[1]
#获利
get_money = 0

#得出每万吨售价
for i in range(len(kind_mc)):
    every_sale_mc.append(sale_mc[i]/kind_mc[i])
##print("每万吨售价:",every_sale_mc)
#每万吨排序
every_sale_mc_sort = sorted(every_sale_mc,reverse = True)
##print("每万吨售价排序:",every_sale_mc_sort)
for i in range(len(every_sale_mc_sort)):
    #需求已经被满足
    if re_mc == 0:
        break
    sale_index = every_sale_mc.index(every_sale_mc_sort[i])
##    print(sale_index)
    #恰好满足供货需求
    if kind_mc[sale_index]>=re_mc:
        get_money += re_mc * (sale_mc[sale_index]/kind_mc[sale_index])
        break
    elif kind_mc[sale_index] < re_mc:
        get_money += sale_mc[sale_index]
        re_mc -= kind_mc[sale_index]

print("%.2f" %get_money)
exit(0)

 

posted @ 2021-11-24 16:08  Coverpast  阅读(19)  评论(0编辑  收藏  举报