CF1353B Two Arrays And Swaps

题目描述

给定两个长度为 $n$ 的正整数数组 $a$ 和 $b$,以及一个整数 $k$。 每次操作,你可以选择两个下标 $i$ 和 $j$($1 \le i, j \le n$),交换 $a_i$ 和 $b_j$ 的值(即 $a_i$ 变为 $b_j$,$b_j$ 变为 $a_i$)。注意 $i$ 和 $j$ 可以相同也可以不同(例如交换 $a_2$ 和 $b_2$,或交换 $a_3$ 和 $b_9$ 都是允许的操作)。 你的任务是,在最多进行 $k$ 次这样的操作后,求数组 $a$ 的元素和的最大可能值。 你需要回答 $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$ 的元素。第三行包含 $n$ 个整数 $b_1, b_2, \dots, b_n$($1 \le b_i \le 30$),表示数组 $b$ 的元素。

输出格式

对于每组测试用例,输出一个整数,表示在最多进行 $k$ 次交换后,数组 $a$ 的元素和的最大可能值。

说明/提示

在第一个样例中,你可以交换 $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]$。 由 ChatGPT 4.1 翻译