CF1353B.Two Arrays And Swaps

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Two Arrays And Swaps

题目描述

给定两个长度为 nn 的正整数数组 aa 和 bb,以及一个整数 kk。

每次操作,你可以选择两个下标 ii 和 jj(1≤i,j≤n1 \le i, j \le n),交换 aia_i 和 bjb_j 的值(即 aia_i 变为 bjb_j,bjb_j 变为 aia_i)。注意 ii 和 jj 可以相同也可以不同(例如交换 a2a_2 和 b2b_2,或交换 a3a_3 和 b9b_9 都是允许的操作)。

你的任务是,在最多进行 kk 次这样的操作后,求数组 aa 的元素和的最大可能值。

你需要回答 tt 组独立的测试用例。

输入格式

输入的第一行包含一个整数 tt(1≤t≤2001 \le t \le 200),表示测试用例的数量。接下来是 tt 组测试用例。

每组测试用例的第一行包含两个整数 nn 和 kk(1≤n≤30;0≤k≤n1 \le n \le 30; 0 \le k \le n),表示数组 aa 和 bb 的长度以及最多可以进行的操作次数。第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤301 \le a_i \le 30),表示数组 aa 的元素。第三行包含 nn 个整数 b1,b2,…,bnb_1, b_2, \dots, b_n(1≤bi≤301 \le b_i \le 30),表示数组 bb 的元素。

输出格式

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

说明/提示

在第一个样例中,你可以交换 a1=1a_1 = 1 和 b2=4b_2 = 4,此时 a=[4,2]a=[4, 2],b=[3,1]b=[3, 1]。

在第二个样例中,你无需进行任何交换。

在第三个样例中,你可以依次交换 a1=1a_1 = 1 和 b1=10b_1 = 10,a3=3a_3 = 3 和 b3=10b_3 = 10,以及 a2=2a_2 = 2 和 b4=10b_4 = 10,此时 a=[10,10,10,4,5]a=[10, 10, 10, 4, 5],b=[1,9,3,2,9]b=[1, 9, 3, 2, 9]。

在第四个样例中,你不能进行任何交换。

在第五个样例中,你可以将 aa 和 bb 完全交换,此时 a=[4,4,5,4]a=[4, 4, 5, 4],b=[1,2,2,1]b=[1, 2, 2, 1]。

由 ChatGPT 4.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

在线编程 IDE

建议全屏模式获得最佳体验