Слияние камней с минимальной стоимостью
Динамическое программирование
Экстремальная
В ряд стоят 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%успешность
Войдите, чтобы решить →