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

Задача . B. Рома и замена знаков


Рома работает в компании по продаже телевизоров. Сейчас ему нужно сдать отчет за прошедший год.

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

Операцией замены знака у числа, называется операция умножения этого числа на -1.

Помогите Роме сделать замены так, что бы суммарный доход компании (сумма чисел в результирующей последовательности) был максимален. Обратите внимание, Рома должен провести ровно k замен.

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

В первой строке заданы два целых числа n и k (1 ≤ n, k ≤ 105) — количество чисел в последовательности и количество замен, которые нужно совершить.

Во второй строке задана неубывающая последовательность, состоящая из n целых чисел ai (|ai| ≤ 104).

Числа в строках разделяются одиночными пробелами. Обратите внимание, заданная последовательность отсортирована по неубыванию.

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

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

Примечание

В первом тесте можно получить последовательность [1, 1, 1], таким образом суммарный доход равен 3.

Во втором тесте оптимальнее всего получить последовательность [-1, 1, 1], таким образом суммарный доход равен 1.


Примеры
Входные данныеВыходные данные
1 3 2
-1 -1 1
3
2 3 1
-1 -1 1
1

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

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