CF1921D Very Different Array

题目描述

Petya 有一个长度为 $n$ 的整数数组 $a_i$。他的兄弟 Vasya 因为嫉妒,决定自己也弄一个长度为 $n$ 的整数数组。 为此,他找到了 $m$ 个整数 $b_i$($m \ge n$),现在他想从中选出 $n$ 个整数,并以某种顺序排列,得到一个长度为 $n$ 的数组 $c_i$。 为了避免和哥哥相似,Vasya 想让自己的数组尽可能与 Petya 的数组不同。具体来说,他希望总差值 $D = \sum_{i=1}^{n} |a_i - c_i|$ 尽可能大。 请你帮助 Vasya 求出他能获得的最大总差值 $D$。

输入格式

每个测试包含多组测试数据。第一行包含一个整数 $t$($1 \le t \le 100$),表示测试数据组数。接下来是每组测试数据的描述。 每组测试数据的第一行包含两个整数 $n$ 和 $m$($1 \le n \le m \le 2 \cdot 10^5$)。 第二行包含 $n$ 个整数 $a_i$($1 \le a_i \le 10^9$)。第三行包含 $m$ 个整数 $b_i$($1 \le b_i \le 10^9$)。 保证所有测试数据中 $m$ 的总和不超过 $2 \cdot 10^5$。

输出格式

对于每组测试数据,输出一个整数,表示可以获得的最大总差值 $D$。

说明/提示

在第一个样例中,Vasya 可以构造数组 $(1, 5, 7, 2)$。那么总差值为 $D = |6-1|+|1-5|+|2-7|+|4-2| = 5+4+5+2 = 16$。 在第二个样例中,Vasya 能用的所有整数都是 $1$,所以他只能构造数组 $(1, 1, 1)$,此时差值 $D = 0$。 在第三个样例中,Vasya 可以构造数组 $(5, 4, 3, 2, 1)$。那么总差值为 $D = |1-5|+|2-4|+|3-3|+|4-2|+|5-1| = 4+2+0+2+4 = 12$。 由 ChatGPT 4.1 翻译