Склейка камней по 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 <= 100
  • 2 <= k <= n
  • 1 <= a_i <= 100

Примеры

Пример 1

Входные данные

2 2
1 100

Выходные данные

101
Пример 2

Входные данные

3 3
5 1 5

Выходные данные

11

Комментарии

Еще нет ни одного комментария.