Контест Senior Задачи на Kotlin обновлено

Распределить задачи по спринтам: бинпоиск по ответу

Условие

Есть n задач в фиксированном порядке, у каждой оценка в часах. Их нужно разбить на не более чем k спринтов: каждый спринт это непрерывный отрезок задач. Минимизируй загрузку самого тяжёлого спринта (сумму часов в нём).

Ввод. n k (1 ≤ k ≤ n ≤ 3000), затем n чисел от 0 до 10^9.

Вывод. Минимально возможная максимальная загрузка.

Как подойти

Подсказки: 2
  1. Как проверить, хватит ли k спринтов при лимите L?
  2. Ответ монотонен: ищи его бинарным поиском.

Решите в тренажёре

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