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 翻译