• 1
    数据输入输出
    • 任务
  • 2
    条件语句
    • 任务
  • 3
    for循环
    • 任务
  • 4
    字符串
    • 任务
  • 5
    while循环
    • 任务
  • 6
    列表
    • 任务
  • 7
    二维数组
    • 任务
  • 8
    字典
    • 任务
  • 9
    集合
    • 任务
  • 10
    函数与递归
    • 任务
  • к

课程 6. Lists

难度:

任务«超市里的排队»

💻 Python
你在超市工作,需要优化收银台的工作效率。一天中,不同数量的顾客会来到收银台,每位顾客扫描和支付商品所花费的时间也不同。你的任务是计算,如果将所有顾客分配到各个收银台,服务完所有顾客需要多长时间。

输入格式

customers - 一个自然数列表,表示每位客户下单所花费的时间。 客户。
cash desks - 一个自然数,表示收银台的数量。

输出格式

服务所有客户所需的总时间

示例

输入

[5, 3, 4]
2 & nbsp;

输出

6

提示

There will be no clue here, decide for yourself!

main.py
测试 1
测试 2
测试 3
测试 4
测试 5
测试 6
测试 7
测试 8
测试 9
测试 10
开发者解答
import heapq

# Ввод данных
clients = [int(c) for c in input().strip('[]').split(',') if c.strip().isdigit()]
num_counters = int(input())
# Если список клиентов пустой, выводим 0
if not clients:
    print(0)
else:
    # Создаем список для касс (время обслуживания на каждой), изначально 0
    counters = [0] * num_counters
    heapq.heapify(counters)  # Преобразуем в кучу

    # Распределяем клиентов по кассам
    for time in clients:
        current = heapq.heappop(counters)  # Берем кассу с минимальным временем
        current += time  # Добавляем время клиента
        heapq.heappush(counters, current)  # Возвращаем в кучу

    # Выводим максимальное время среди касс
    print(max(counters))

🎉 恭喜! 🎉

你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。

AD

广告

red-snake blue-snake green-snake

正在运行代码...

AI助手

你好!我是你的编程助手。随时向我提问关于 Python 的问题——我可以解释函数、方法,并帮助你完成当前任务!