Олимпиадный тренинг

Задача . F. Покрытие массива


У Миши есть массив из n целых чисел. Он хочет выбрать k различных подотрезков в нем так, чтобы для каждого элемента массива нашелся хотя бы один выбранный отрезок, который его содержит.

При этом Миша хочет, чтобы если просуммировать числа на каждом отрезке, а затем просуммировать получившиеся суммы, то итоговая сумма оказалась максимальна.

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

В первой строке дано два целых числа n, k (1 ≤ n ≤ 100 000, 1 ≤ k ≤ n·(n + 1) / 2) — количество элементов в массиве и количество отрезков, которые нужно выбрать.

Во второй строке дано n целых чисел ai ( - 50 000 ≤ ai ≤ 50 000) — элементы массива.

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

Выведите одно целое число — максимальную сумму сумм чисел на отрезках, которую можно достичь, выбрав k отрезков так, что каждый элемент был покрыт хотя бы одним отрезком.


Примеры
Входные данныеВыходные данные
1 5 4
6 -4 -10 -4 7
11

time 3000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя