Ограничения: время – 2s/2s, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод 
Послать решение Blockly Посылки Темы Где Обсудить (0)
Компания "Филипп индастриз" отправила на Марс новый робот-марсоход.
Целью робота является исследование поверхности Марса.
Для исследования Марса робот будет перемещаться по поверхности планеты
на север и на юг вдоль прямой. Программа робота состоит из n
команд, каждая из которых описывается целым числом ai.
Каждое число ai задаёт количество шагов, которое необходимо сделать роботу.
Если ai > 0, то робот совершает |ai| шагов на север, если ai < 0, то |ai| шагов
на юг. Робот исполняет команды последовательно, начиная с первой.
Однако по пути на Марс робот подвергся космическому излучению и его программа
могла повредиться. Запустив процедуру тестирования памяти, ученые выяснили,
что в программу было внесено от 0 до k ошибок следующего вида:
число ai оказалось заменено на -ai. Тем не менее, приземлившись
на Марс, робот выполнил свою, возможно поврежденную, программу.
Теперь для организации спасения робота ученые хотят выяснить, насколько далеко
от точки, в которой он начал выполнение программы, робот мог оказаться в результате.
Помогите им это выяснить.
В первой строке входного файла находятся два числа n, k (1 ≤ k ≤ n ≤ 105) –
количество чисел в программе робота и максимальное количество ошибок.
Во второй строке входного файла находятся n чисел ai (-104 ≤ ai ≤ 104, ai ≠ 0) – программа робота.
В единственной строке выходного файла выведите максимальное расстояние в шагах, на которое мог
удалиться робот, выполнив все команды и совершив не более k ошибок.
Пример ввода 1
4 1
1 2 -1 -3
Пример ввода 2
7 2
5 -3 7 9 -2 -8 -1
В первом примере робот мог, например, выполнить программу
1, 2, -1, 3 и в результате удалиться на 5 шагов на север.
Источник: XXIII Командный чемпионат школьников Санкт-Петербурга по программированию, 2015