A38785.最小化两数组的距离
普及+/提高
通过率:35.48%
时间限制:1.00s
内存限制:128MB
题目描述
给定一个长度为 N 的二元组序列 A:[(Ax1,Ay1),(Ax2,Ay2),…,(AxN,AyN)];
和一个长度为 N 的二元组序列 B:[(Bx1,By1),(Bx2,By2),…,(BxN,ByN)]。
现在你可以从 A 中选择 1 个二元组与 B 中的 1 个二元组进行交换;或者从 A 中选择 2 个二元组与 B 中的 2 个二元组进行交换;或者什么也不做。
令:
S=i=1∑NAxi−i=1∑NBxi
T=i=1∑NAyi−i=1∑NByi
你可以通过以上方法最小化 S 的值;若两种操作方案得到的 S 的值相同,则选择 T 最小的那种;最后输出最小化后的 S 和 T。
数据范围
- 2≤N≤1000
- 0≤Axi,Ayi,Bxi,Byi≤500
- 所有输入均为整数
输入格式
对于每个测试文件,格式如下:
N
Ax1 Ay1
Ax2 Ay2
⋮
AxN AyN
Bx1 By1
Bx2 By2
⋮
BxN ByN
输出格式
对于每个测试用例,在单独的一行中输出最小化的 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
说明/提示
样例 1:
未交换元素时 S=∣3−7∣=4, T=∣7−3∣=4。
我们交换 A2 和 B1;
A 变为 [(1,4),(4,1)],B 变为 [(2,3),(3,2)];
此时 S=∣5−5∣=0, T=∣5−5∣=0。
样例 2:
未交换元素时 S=∣17−60∣=43, T=∣10−10∣=0。
我们交换 A1 和 B2 以及 A4 和 B3;
A 变为 [(11,1),(3,2),(7,4),(17,3)],B 变为 [(13,2),(2,1),(5,3),(19,4)];
此时 S=∣38−39∣=1, T=∣10−10∣=0。