Программа курса:
Задача 13: Возможность Отгрузки Посылок В Течение D Дней
Напишите определение функции shipWithinDays(weights, days), которая принимает:
weights(List[int]): список целых чисел, гдеweights[i]— это вес i-го пакета на конвейере.days(int): количество дней, за которое необходимо доставить все пакеты.
Функция должна вернуть минимальную грузоподъёмность корабля, при которой все пакеты на конвейере могут быть доставлены в течение указанного количества дней.
Каждый день загружается несколько пакетов в порядке их расположения на конвейере, но общий вес пакетов, загруженных за один день, не должен превышать грузоподъёмность корабля. Порядок загрузки пакетов изменять нельзя.
Примеры
Пример 1:
Ввод: weights = [1,2,3,4,5,6,7,8,9,10], days = 5
Вывод: 15
Пояснение: Минимальная грузоподъёмность корабля составляет 15. Это позволяет распределить грузы по дням следующим образом:
- 1-й день: 1, 2, 3, 4, 5
- 2-й день: 6, 7
- 3-й день: 8
- 4-й день: 9
- 5-й день: 10.
Пример 2:
Ввод: weights = [3,2,2,4,1,4], days = 3
Вывод: 6
Пояснение: Грузоподъёмность корабля равна 6. Это позволяет распределить грузы так:
- 1-й день: 3, 2
- 2-й день: 2, 4
- 3-й день: 1, 4.
Пример 3:
Ввод: weights = [1,2,3,1,1], days = 4
Вывод: 3
Пояснение: Грузоподъёмность корабля равна 3. Это позволяет распределить грузы так:
- 1-й день: 1
- 2-й день: 2
- 3-й день: 3
- 4-й день: 1, 1.