问题1848--QинYу数组1.0

1848: QинYу数组1.0

[命题人 : ]
时间限制 : 1 sec  内存限制 : 128 MB

提交

题目描述

已知两个长度为n的数组a1,a2,…an和b1,b2,…,bn。  
 
以下操作可以进行任意次数:  
 
1.选择整数索引i(1≤i≤n);  
2.交换ai和bi。  

使得|a1−a2|+|a2−a3|+⋯+|a(n - 1)−an| +| b1−b2|+|b2−b3|+⋯+|b(n−1)−bn|最小可能的和是多少,执行几次(可能是零)操作后可以实现的?  

输入

第一行包含一个整数t(1≤t≤4000)-测试用例的数量。 然后,接下来是t个测试用例。  
 
每个测试用例的第一行包含单个整数n(2≤n≤25)-数组a和b的长度。  
 
每个测试用例的第二行包含n个整数a1,a2,…,an(1≤ai≤10^9)-数组a。  
 
每个测试用例的第三行包含n个整数b1,b2,…,bn(1≤bi≤10^9)-数组b。  

输出

对于每个测试用例,输出一个整数-可能的最小和

样例输入 Copy

3
4
3 3 10 10
10 10 3 3
5
1 2 3 4 5
6 7 8 9 10
6
72 101 108 108 111 44
10 87 111 114 108 100

样例输出 Copy

0
8
218

提示

(输入输出请使用scanf(),printf())

在第一个测试用例中,我们可以,例如,把a3和b3交换,把a4和b4交换。 我们会得到数组a =[3, 3, 3, 3)和b =(10、10、10、10)和3⋅| 3−3 | + 3⋅| 10−10| = 0。  

 

在第二个测试用例中,数组已经有了最小的和(如上所述),等于|1−2|+⋯+|4−5|+|6−7|+⋯+ |9−10| =4+4=8。  

 

例如,在第三个测试用例中,我们可以交换a5和b5。