← 返回题库
初级

月饼

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve(n, demand, stocks, prices):
    stocks = list(map(float, stocks.split(',')))
    prices = list(map(float, prices.split(',')))
    demand = float(demand)
    items = [(prices[i] / stocks[i], stocks[i], prices[i]) for i in range(len(stocks))]
    items.sort(reverse=True)
    total = 0
    for ratio, stock, price in items:
        if demand >= stock:
            total += price
            demand -= stock
        else:
            total += ratio * demand
            break
    print(f'{total:.2f}')

示例

输入
solve(3, 20, '18,15,10', '7.5,7.2,4.5')
期望输出
9.45
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码