AT_utpc2021_b Swap and Maximize

题目描述

给定两个长度为 $N$ 的数列 $A=(A_1,A_2,\ldots,A_N)$,$B=(B_1,B_2,\ldots,B_N)$。 你可以进行任意次数(包括 $0$ 次)如下操作: - 选择一个整数 $i$($1 \le i \le N$),交换 $A_i$ 和 $B_i$。 数列的分数定义为 $\displaystyle\sum_{i=1}^N\ \sum_{j=1}^N\ \min(A_i,B_j)$。 你的目标是通过操作,使得操作后的数列分数最大。请输出一种能达到最大分数的操作后的数列。如果有多种方案,输出任意一种即可。 给定 $T$ 组测试数据,请分别输出每组的答案。

输入格式

输入通过标准输入给出,格式如下: > $T$ > $\mathrm{case}_1$ > $\vdots$ > $\mathrm{case}_T$ 每组数据格式如下: > $N$ $A_1$ $\ldots$ $A_N$ $B_1$ $\ldots$ $B_N$

输出格式

对于每组测试数据,输出操作后的数列 $A',B'$,使得分数最大。 如果有多种方案,输出任意一种。 > $A'_1$ $\ldots$ $A'_N$ $B'_1$ $\ldots$ $B'_N$

说明/提示

### 限制条件 - 所有输入均为整数。 - $1 \le T \le 2 \times 10^5$ - $1 \le N \le 2 \times 10^5$ - $1 \le A_i, B_i \le 10^8$ - 对于所有测试数据,$N$ 的总和不超过 $2 \times 10^5$ ### 样例解释 1 对于第 $1$ 个测试用例,例如对 $i=1$ 和 $i=3$ 进行操作,可以得到最大分数 $22$。对于第 $2$ 个测试用例,例如不进行任何操作,可以得到最大分数 $5$。 由 ChatGPT 4.1 翻译