Ограничения: время – 1s/2s, память – 256MiB Ввод: prizes.in или стандартный ввод Вывод: prizes.out или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (1)
Алиса и Боб стали победителями телевикторины, и теперь им предстоит выбрать себе призы. На выбор
предлагается `n` призов, пронумерованных от 1 до `n`.
Распределение призов происходит следующим образом. Организаторы телевикторины сообщают победителям
целое положительное число `k` (`1 ≤ k ≤ n / 3`). Сначала Алиса выбирает себе любые `k` подряд идущих номеров
призов. Потом Боб выбирает себе `k` подряд идущих номеров призов, при этом он не может выбирать номера,
которые уже выбрала Алиса. После этого победители забирают выбранные ими призы.
Алиса хорошо знает Боба, и для каждого приза выяснила его ценность для Боба, которая является
целым положительным числом. Алиса обижена на Боба и хочет выбрать свои призы так, чтобы суммарная
ценность призов, которые достанутся Бобу, была как можно меньше. При этом Алису не волнует, какие призы достанутся ей.
Требуется написать программу, которая по информации о ценности призов и значению `k` определит,
для какого минимального значения `x` Алиса сможет добиться того, чтобы Боб не смог выбрать призы с
суммарной ценностью больше `x`.
Формат входного файла
Первая строка входного файла содержит два целых числа: `n` - общее количество призов и `k` - количество
подряд идущих номеров призов, которое должен выбрать каждый из победителей (`3 ≤ n ≤ 100 000`, `1\ ≤ k ≤ n / 3`).
Вторая строка содержит `n` целых положительных чисел: `a_1,\ a_2,\ …,\ a_n`. Для каждого приза указана его
ценность для Боба (`1 ≤ a_i ≤ 10^9`).
Формат выходного файла
Выходной файл должен содержать одно число – минимальное значение `x`, для которого Алиса сможет добиться
того, чтобы Боб не смог выбрать призы с суммарной ценностью больше `x`.
Пример ввода
10 2
1 2 4 5 2 4 2 2 1 6
Пояснения к примеру
В приведенном примере Алиса может, например, выбрать 4-й и 5-й призы. После этого для Боба оптимально выбрать 9-й и 10-й призы с суммарной ценностью 7.
Система оценки и описание подзадач
В этой задаче три подзадачи. Баллы за подзадачу начисляются только в случае, если все тесты для данной подзадачи успешно пройдены.
Подзадача 1 (30 баллов)
`3 ≤ n ≤ 50`, `1 ≤ a_i ≤ 10^5`
Подзадача 2 (30 баллов)
`3 ≤ n ≤ 5000`, `1 ≤ a_i ≤ 10^5`
Подзадача 3 (40 баллов)
`3 ≤ n ≤ 100 000`, `1 ≤ a_i ≤ 10^9`
Получение информации о результатах окончательной проверки
По запросу сообщается результат окончательной проверки на каждом тесте.
Источник: региональный этап Всероссийской олимпиады по информатике 2014/2015, http://neerc.ifmo.ru/school/