• 1
    Ввод и вывод данных
    • Задачи
  • 2
    Условия
    • Задачи
  • 3
    Цикл for
    • Задачи
  • 4
    Строки
    • Задачи
  • 5
    Цикл while
    • Задачи
  • 6
    Списки
    • Задачи
  • 7
    Двумерные массивы
    • Задачи
  • 8
    Словари
    • Задачи
  • 9
    Множества
    • Задачи
  • 10
    Функции и рекурсия
    • Задачи
  • к

Занятие 6. Списки

Уровень сложности:

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib

Задача«Очередь в супермаркете»

Вы работаете в супермаркете, и вам нужно оптимизировать работу касс. В течение дня к кассам подходит разное количество покупателей, и каждый из них тратит разное время на сканирование и оплату своих покупок. Ваша задача - рассчитать, сколько времени потребуется для обслуживания всех покупателей, если они будут распределены по кассам.

Формат ввода

Клиенты - список натуральных чисел, представляющих время, которое каждый клиент тратит на оформление заказ. Учтите последоваетльность клиентов.
Кассы - натуральное число, представляющее количество касс

Формат Вывода

Общее время, необходимое для обслуживания всех клиентов

Пример

Ввод

[5, 3, 4]

Вывод

6

Подсказка

Тут подсказки не будет, решай сам!

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

Запускаем ваш код...

Помощник ИИ

Привет! Я твой помощник по программированию. Задавай любые вопросы по Python, я могу рассказать о функциях, методах, обьяснить то, что тебе не понятно, а так же о текущей задаче!