Склейка камней по k за ход
Просмотр в формате PDF
Submit solution
Очки:
200
Ограничение по времени:
2.0s
Ограничение по памяти:
256M
Автор:
Problem types
Allowed languages
C++, Python
В ряд выложены n кучек камней, в i-й кучке находится a_i камней.
За один ход разрешается выбрать ровно k соседних кучек и склеить их в одну новую кучку. Стоимость такого хода равна суммарному числу камней в выбранных k кучках.
Необходимо определить минимальную суммарную стоимость, за которую можно свести все кучки к одной. Если сделать это невозможно, выведите -1.
Входные данные
Первая строка содержит два целых числа n и k — количество кучек и число соседних кучек, которые нужно склеивать за один ход.
Вторая строка содержит n целых чисел a_i, где a_i — число камней в i-й кучке.
Выходные данные
Выведите одно целое число — минимальную суммарную стоимость склейки всех кучек в одну, либо -1, если это невозможно.
Ограничения
1 <= n <= 1002 <= k <= n1 <= a_i <= 100
Примеры
Пример 1
Входные данные
2 2
1 100
Выходные данные
101
Пример 2
Входные данные
3 3
5 1 5
Выходные данные
11
Комментарии