eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Работа в команде

Работа в команде

На его любимый праздник Фермер Джон хочет послать подарки своим друзьям. ФД позвал коров на помощь в заворачивании подарков.

n коров ФД стоят в ряд, последовательно пронумерованные 1..n. Корова i имеет si - уровень мастерства в заворачивании подарков. ФД решил объединить коров в команды. Команда состоит из любого последовательного множества коров числом не более k коров, и корова не может быть более чем в одной команде. Поскольку коровы могут учиться друг у друга, уровень мастерства каждой коровы в команде может быть заменен на уровень мастерства самой мастеровитой коровы.

Помогите ФД определить максимально возможную сумму уровней мастерства, которую он может получить, оптимально сформировав команды.

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

Первая строка содержит n (1n104) и k (1k1000). Следующие n строк содержат уровни мастерства n коров в порядке как они стоят. Каждый уровень мастерства это положительное целое число не более 105.

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

Выведите наибольшую возможную сумму уровней мастерства, которую может получить ФД, сгруппировав коров по командам.

Пример

В этом примере оптимальное решение - сгруппировать первые 3 коровы и последние 3 коровы, оставив среднюю корову саму оп себе. Напомним, что можно иметь команды размером меньше чем k. Уровни мастерства вырастут до 15, 15, 15, 9, 10, 10, 10, что и даёт сумму 84.

Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
7 3
1
15
7
9
2
5
10
Выходные данные #1
84
Источник 2018 USACO Декабрь, Золото