Слияние камней с минимальной стоимостью

Динамическое программирование Экстремальная
В ряд стоят n куч камней, stones[i] - число камней в куче i. За один ход можно слить РОВНО k соседних куч в одну; стоимость хода - суммарное число камней в этих k кучах. Нужно слить все кучи в одну. Верните минимальную суммарную стоимость всех слияний, или -1, если так слить все кучи в одну невозможно (это возможно, только если (n-1) делится на (k-1)).
Сигнатура функции
merge_stones_min_cost(stones: list[int], k: int) -> int
Примеры
ВходОжидаемый результат
[[3, 2, 4, 1], 2]20
[[3, 2, 4, 1], 3]-1
1решили
1пытались
100%успешность
Войдите, чтобы решить →