已结束 GESP巅峰赛#18

A4771 | 最小化两数组的距离

来源官方 / 2025
时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

给定一个长度为 $N$ 的二元组序列 $A$:$\tt{[(Ax_1, Ay_1), (Ax_2, Ay_2), \ldots, (Ax_N, Ay_N)]}$;
和一个长度为 $N$ 的二元组序列 $B$:$\tt{[(Bx_1, By_1), (Bx_2, By_2), \ldots, (Bx_N, By_N)]}$。

现在你可以从 $A$ 中选择 $1$ 个二元组与 $B$ 中的 $1$ 个二元组进行交换;或者从 $A$ 中选择 $2$ 个二元组与 $B$ 中的 $2$ 个二元组进行交换;或者什么也不做。

令:

$$ S = \left \vert {\sum_{i=1}^{N} Ax_i - \sum_{i=1}^{N} Bx_i} \right \vert $$

$$ T = \left \vert {\sum_{i=1}^{N} Ay_i - \sum_{i=1}^{N} By_i} \right \vert $$

你可以通过以上方法最小化 $S$ 的值;若两种操作方案得到的 $S$ 的值相同,则选择 $T$ 最小的那种;最后输出最小化后的 $S$ 和 $T$。

$\large{数据范围}$

- $2 \le N \le 1000$
- $0 \le Ax_i, Ay_i, Bx_i, By_i \le 500$
- 所有输入均为整数

输入格式

对于每个测试文件,格式如下:

$\tt{N}$

$\tt{Ax_1\ Ay_1}$

$\tt{Ax_2\ Ay_2}$

$\tt{\vdots}$

$\tt{Ax_N\ Ay_N}$

$\tt{Bx_1\ By_1}$

$\tt{Bx_2\ By_2}$

$\tt{\vdots}$

$\tt{Bx_N\ By_N}$

输出格式

对于每个测试用例,在单独的一行中输出最小化的 $S$ 和 $T$ 的值,中间用空格隔开。

输入输出样例

输入 #1
2
1 4
2 3
4 1
3 2
输出 #1
0 0
输入 #2
4
2 1
3 2
7 4
5 3
13 2
11 1
17 3
19 4
输出 #2
1 0
输入 #3
7
68 50
14 90
88 50
79 13
5 64
11 72
40 38
42 49
63 71
86 13
55 93
9 77
1 2
2 45
输出 #3
1 27
C++ 编辑器
输入
输出