Ctrl K

Самый честный раздел пакетов

Средняя
На празднике раздают конфеты, разложенные по пакетам: в пакете bags[i] лежит столько-то конфет. Все пакеты нужно раздать kids детям. Пакет вскрывать нельзя — он целиком достаётся одному ребёнку. Ребёнку может не достаться ни одного пакета. Назовём **перекосом** раздачи наибольшее число конфет, которое получил один ребёнок. Верните наименьший возможный перекос.
Пример 1
bags=[5, 9, 4, 6], kids=2 → 13

Всего 24 конфеты. Отдадим одному ребёнку пакеты 5 и 6, другому 9 и 4: получится 11 и 13. Ровно по 12 не разделить, поэтому ответ 13.

Пример 2
bags=[3, 3, 3, 20, 3], kids=3 → 20

Пакет с 20 конфетами делить нельзя, так что кому-то достанется не меньше 20. Остальные пакеты легко раздать двум другим детям.

Пример 3
bags=[7, 2, 2, 3, 6, 4], kids=3 → 9
Ограничения
  • 2 ≤ len(bags) ≤ 8
  • 1 ≤ bags[i] ≤ 10⁵
  • 2 ≤ kids ≤ len(bags)
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиКвадратная рамка из палочек СредняяРассадка с делимостью СредняяСамая дешёвая корзина с наборами СредняяГруппы с равными суммами СредняяМеньше всего пешком до самокатов Средняя
загружаем Python…
Вход
bags=[5, 9, 4, 6], kids=2
Ожидается
13

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 100 тестов на сервере, включая скрытые.