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

Задача . B. Максимальная сумма


Дан массив \(a_1, a_2, \dots, a_n\), в котором все элементы различны.

Вы должны выполнить ровно \(k\) операций с ним. Во время каждой операции вы выполняете ровно одно из следующих двух действий (вы самостоятельно выбираете, какое именно):

  • найти два минимальных элемента в массиве и удалить их;
  • найти максимальный элемент в массиве и удалить его.

Вы должны вычислить максимальную возможную сумму элементов в полученном массиве.

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

Первая строка содержит одно целое число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных.

Каждый набор входных данных состоит из двух строк:

  • первая строка содержит два целых числа \(n\) и \(k\) (\(3 \le n \le 2 \cdot 10^5\); \(1 \le k \le 99999\); \(2k < n\)) — количество элементов и операций соответственно.
  • вторая строка содержит \(n\) целых чисел \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 10^9\); все \(a_i\) различны) — элементы массива.

Дополнительное ограничение на входные данные: сумма \(n\) не превышает \(2 \cdot 10^5\).

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

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

Примечание

В первом наборе входных данных применение первой операции приводит к следующему результату:

  • два минимума равны \(1\) и \(2\); их удаление оставляет массив \([5, 10, 6]\) с суммой \(21\);
  • максимум равен \(10\); его удаление оставляет массив \([2, 5, 1, 6]\) с суммой \(14\).

\(21\) — лучший ответ.

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


Примеры
Входные данныеВыходные данные
1 6
5 1
2 5 1 10 6
5 2
2 5 1 10 6
3 1
1 2 3
6 1
15 22 12 10 13 11
6 2
15 22 12 10 13 11
5 1
999999996 999999999 999999997 999999998 999999995
21
11
3
62
46
3999999986

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

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