CF1661A.Array Balancing

入门

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given two arrays of length nn: a1,a2,…,ana_1, a_2, \dots, a_n and b1,b2,…,bnb_1, b_2, \dots, b_n.

You can perform the following operation any number of times:

  1. Choose integer index ii (1≤i≤n1 \le i \le n);
  2. Swap aia_i and bib_i.

What is the minimum possible sum ∣a1−a2∣+∣a2−a3∣+⋯+∣an−1−an∣|a_1 - a_2| + |a_2 - a_3| + \dots + |a_{n-1} - a_n| ++ ∣b1−b2∣+∣b2−b3∣+⋯+∣bn−1−bn∣|b_1 - b_2| + |b_2 - b_3| + \dots + |b_{n-1} - b_n| (in other words, ∑i=1n−1(∣ai−ai+1∣+∣bi−bi+1∣)\sum\limits_{i=1}^{n - 1}{\left(|a_i - a_{i+1}| + |b_i - b_{i+1}|\right)}) you can achieve after performing several (possibly, zero) operations?

给你两个长度为 nn 的数组:a1,a2,…,ana_1, a_2, \dots, a_n 和 b1,b2,…,bnb_1, b_2, \dots, b_n。

你可以执行以下操作任意多次(包括零次):

  1. 选择一个整数下标 ii(1≤i≤n1 \le i \le n);
  2. 交换 aia_i 和 bib_i。

在执行若干次(可能为零次)上述操作后,你能达到的最小可能和为多少?
该和定义为:

∣a1−a2∣+∣a2−a3∣+⋯+∣an−1−an∣+∣b1−b2∣+∣b2−b3∣+⋯+∣bn−1−bn∣|a_1 - a_2| + |a_2 - a_3| + \dots + |a_{n-1} - a_n| + |b_1 - b_2| + |b_2 - b_3| + \dots + |b_{n-1} - b_n|

即

∑i=1n−1(∣ai−ai+1∣+∣bi−bi+1∣)。\sum\limits_{i=1}^{n - 1}{\left(|a_i - a_{i+1}| + |b_i - b_{i+1}|\right)}。

输入格式

The first line contains a single integer tt (1≤t≤40001 \le t \le 4000) — the number of test cases. Then, tt test cases follow.

The first line of each test case contains the single integer nn (2≤n≤252 \le n \le 25) — the length of arrays aa and bb.

The second line of each test case contains nn integers a1,a2,…,ana_1, a_2, \dots, a_n (1≤ai≤1091 \le a_i \le 10^9) — the array aa.

The third line of each test case contains nn integers b1,b2,…,bnb_1, b_2, \dots, b_n (1≤bi≤1091 \le b_i \le 10^9) — the array bb.

第一行包含一个整数 tt(1≤t≤40001 \le t \le 4000)—— 测试用例的数量。接下来是 tt 个测试用例。

每个测试用例的第一行包含一个整数 nn(2≤n≤252 \le n \le 25)—— 数组 aa 和 bb 的长度。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤1091 \le a_i \le 10^9)—— 数组 aa。

每个测试用例的第三行包含 nn 个整数 b1,b2,…,bnb_1, b_2, \dots, b_n(1≤bi≤1091 \le b_i \le 10^9)—— 数组 bb。

输出格式

For each test case, print one integer — the minimum possible sum ∑i=1n−1(∣ai−ai+1∣+∣bi−bi+1∣)\sum\limits_{i=1}^{n-1}{\left(|a_i - a_{i+1}| + |b_i - b_{i+1}|\right)}.

对于每个测试用例,输出一个整数——最小可能的和 ∑i=1n−1(∣ai−ai+1∣+∣bi−bi+1∣)\sum\limits_{i=1}^{n-1}{\left(|a_i - a_{i+1}| + |b_i - b_{i+1}|\right)}。

输入输出样例

  • 输入#1

    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

    输出#1

    0
    8
    218

说明/提示

In the first test case, we can, for example, swap a3a_3 with b3b_3 and a4a_4 with b4b_4. We'll get arrays a=[3,3,3,3]a = [3, 3, 3, 3] and b=[10,10,10,10]b = [10, 10, 10, 10] with sum 3⋅∣3−3∣+3⋅∣10−10∣=03 \cdot |3 - 3| + 3 \cdot |10 - 10| = 0.

In the second test case, arrays already have minimum sum (described above) equal to ∣1−2∣+⋯+∣4−5∣+∣6−7∣+⋯+∣9−10∣|1 - 2| + \dots + |4 - 5| + |6 - 7| + \dots + |9 - 10| =4+4=8= 4 + 4 = 8.

In the third test case, we can, for example, swap a5a_5 and b5b_5.

在第一个测试用例中,例如,我们可以交换 a3a_3 与 b3b_3,以及 a4a_4 与 b4b_4。此时得到数组 a=[3,3,3,3]a = [3, 3, 3, 3] 和 b=[10,10,10,10]b = [10, 10, 10, 10],其和为 3⋅∣3−3∣+3⋅∣10−10∣=03 \cdot |3 - 3| + 3 \cdot |10 - 10| = 0。

在第二个测试用例中,数组已达到最小和(如上所述),其值为 ∣1−2∣+⋯+∣4−5∣+∣6−7∣+⋯+∣9−10∣|1 - 2| + \dots + |4 - 5| + |6 - 7| + \dots + |9 - 10| =4+4=8= 4 + 4 = 8。

在第三个测试用例中,例如,我们可以交换 a5a_5 与 b5b_5。

输入解题思路,AI测评打分。不知道怎么写?

首页