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

Задача . B. Два массива и обмены


Вам даны два массива \(a\) и \(b\), оба состоят из \(n\) положительных (больших нуля) целых чисел. Также вам задано число \(k\).

За один ход вы можете выбрать два индекса \(i\) и \(j\) (\(1 \le i, j \le n\)) и поменять местами \(a_i\) и \(b_j\) (i.e. \(a_i\) становится \(b_j\) и наоборот). Заметьте, что \(i\) и \(j\) могут совпадать или отличаться (в частности, обмен \(a_2\) с \(b_2\) или обмен \(a_3\) с \(b_9\) оба считаются приемлемыми ходами).

Ваша задача — назвать максимальную возможную сумму, которую вы можете получить в массиве \(a\), если вы сделаете не более \(k\) таких ходов (обменов).

Вам нужно ответить на \(t\) независимых наборов тестовых данных.

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

Первая строка теста содержит одно целое число \(t\) (\(1 \le t \le 200\)) — количество наборов тестовых данных. Затем следуют \(t\) наборов тестовых данных.

Первая строка набора тестовых данных содержит два целых числа \(n\) и \(k\) (\(1 \le n \le 30; 0 \le k \le n\)) — количество элементов в \(a\) и \(b\) и максимальное количество ходов, которое вы можете сделать. Вторая строка набора тестовых данных содержит \(n\) целых чисел \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 30\)), где \(a_i\) — это \(i\)-й элемент в \(a\). Третья строка набора тестовых данных содержит \(n\) целых чисел \(b_1, b_2, \dots, b_n\) (\(1 \le b_i \le 30\)), где \(b_i\) — это \(i\)-й элемент в \(b\).

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

Для каждого набора тестовых данных выведите ответ на него — максимальную возможную сумму, которую вы можете получить в массиве \(a\), если вы можете совершить не более \(k\) обменов.

Примечание

В первом наборе тестовых данных примера вы можете поменять местами \(a_1 = 1\) и \(b_2 = 4\) и тогда получите \(a=[4, 2]\) и \(b=[3, 1]\).

Во втором наборе тестовых данных примера вам не нужно ничего менять.

В третьем наборе тестовых данных примера вы можете поменять местами \(a_1 = 1\) и \(b_1 = 10\), \(a_3 = 3\) и \(b_3 = 10\) и \(a_2 = 2\) и \(b_4 = 10\), и получить \(a=[10, 10, 10, 4, 5]\) и \(b=[1, 9, 3, 2, 9]\).

В четвертом наборе тестовых данных примера вы не можете ничего поменять.

В пятом наборе тестовых данных примера вы можете поменять местами массивы \(a\) и \(b\) и получить \(a=[4, 4, 5, 4]\) и \(b=[1, 2, 2, 1]\).


Примеры
Входные данныеВыходные данные
1 5
2 1
1 2
3 4
5 5
5 5 6 6 5
1 2 5 4 3
5 3
1 2 3 4 5
10 9 10 10 9
4 0
2 2 4 3
2 4 2 3
4 4
1 2 2 1
4 4 5 4
6
27
39
11
17

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

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