309944: CF1763C. Another Array Problem

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Another Array Problem

题意翻译

你有一个长度为 $n$ 的数组 $a$, 你可以对它进行以下操作任意多次: - 选择两个下标 $i, j$, 满足 $1\leq i<j\leq n$, 将 $a_i \sim a_j$ 之间的所有元素替换成 $|a_i-a_j|$。 求数组能经过若干次操作以后达到的所有元素的最大和。 数据范围:$2\leq n, \sum n\leq 2\times 10^5, 1\leq a_ i\leq 10^9$。 Translated by Microchip2333.

题目描述

You are given an array $ a $ of $ n $ integers. You are allowed to perform the following operation on it as many times as you want (0 or more times): - Choose $ 2 $ indices $ i $ , $ j $ where $ 1 \le i < j \le n $ and replace $ a_k $ for all $ i \leq k \leq j $ with $ |a_i - a_j| $ Print the maximum sum of all the elements of the final array that you can obtain in such a way.

输入输出格式

输入格式


The first line contains a single integer $ t $ ( $ 1 \le t \le 10^5 $ ) — the number of test cases. The first line of each test case contains a single integer $ n $ ( $ 2 \le n \le 2 \cdot 10^5 $ ) — the length of the array $ a $ . The second line of each test case contains $ n $ integers $ a_1, a_2, \ldots, a_n $ ( $ 1 \le a_i \le 10^9 $ ) — the elements of array $ a $ . It's guaranteed that the sum of $ n $ over all test cases does not exceed $ 2 \cdot 10^5 $ .

输出格式


For each test case, print the sum of the final array.

输入输出样例

输入样例 #1

3
3
1 1 1
2
9 1
3
4 9 5

输出样例 #1

3
16
18

说明

In the first test case, it is not possible to achieve a sum $ > 3 $ by using these operations, therefore the maximum sum is $ 3 $ . In the second test case, it can be shown that the maximum sum achievable is $ 16 $ . By using operation $ (1,2) $ we transform the array from $ [9,1] $ into $ [8,8] $ , thus the sum of the final array is $ 16 $ . In the third test case, it can be shown that it is not possible to achieve a sum $ > 18 $ by using these operations, therefore the maximum sum is $ 18 $ .

Input

题意翻译

你有一个长度为 $n$ 的数组 $a$, 你可以对它进行以下操作任意多次: - 选择两个下标 $i, j$, 满足 $1\leq i<j\leq n$, 将 $a_i \sim a_j$ 之间的所有元素替换成 $|a_i-a_j|$。 求数组能经过若干次操作以后达到的所有元素的最大和。 数据范围:$2\leq n, \sum n\leq 2\times 10^5, 1\leq a_ i\leq 10^9$。 Translated by Microchip2333.

Output

题目大意:
给定一个长度为 $n$ 的数组 $a$,你可以进行任意多次以下操作:
- 选择两个下标 $i, j$,满足 $1 \leq i < j \leq n$,将 $a_i \sim a_j$ 之间的所有元素替换成 $|a_i - a_j|$。
求经过若干次操作后,数组能达到的所有元素的最大和。

输入输出数据格式:
输入格式:
- 第一行包含一个整数 $t$($1 \le t \le 10^5$)——测试用例的数量。
- 每个测试用例的第一行包含一个整数 $n$($2 \le n \le 2 \times 10^5$)——数组 $a$ 的长度。
- 每个测试用例的第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le 10^9$)——数组 $a$ 的元素。
- 保证所有测试用例的 $n$ 之和不超过 $2 \times 10^5$。

输出格式:
- 对于每个测试用例,输出最终数组的元素和。

输入输出样例:
输入样例 #1:
```
3
3
1 1 1
2
9 1
3
4 9 5
```
输出样例 #1:
```
3
16
18
```
说明:
- 在第一个测试用例中,使用这些操作无法实现大于3的和,因此最大和为3。
- 在第二个测试用例中,可以证明最大可实现的和为16。通过使用操作 $(1,2)$,将数组从 $[9,1]$ 转换为 $[8,8]$,因此最终数组的和为16。
- 在第三个测试用例中,可以证明使用这些操作无法实现大于18的和,因此最大和为18。题目大意: 给定一个长度为 $n$ 的数组 $a$,你可以进行任意多次以下操作: - 选择两个下标 $i, j$,满足 $1 \leq i < j \leq n$,将 $a_i \sim a_j$ 之间的所有元素替换成 $|a_i - a_j|$。 求经过若干次操作后,数组能达到的所有元素的最大和。 输入输出数据格式: 输入格式: - 第一行包含一个整数 $t$($1 \le t \le 10^5$)——测试用例的数量。 - 每个测试用例的第一行包含一个整数 $n$($2 \le n \le 2 \times 10^5$)——数组 $a$ 的长度。 - 每个测试用例的第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le 10^9$)——数组 $a$ 的元素。 - 保证所有测试用例的 $n$ 之和不超过 $2 \times 10^5$。 输出格式: - 对于每个测试用例,输出最终数组的元素和。 输入输出样例: 输入样例 #1: ``` 3 3 1 1 1 2 9 1 3 4 9 5 ``` 输出样例 #1: ``` 3 16 18 ``` 说明: - 在第一个测试用例中,使用这些操作无法实现大于3的和,因此最大和为3。 - 在第二个测试用例中,可以证明最大可实现的和为16。通过使用操作 $(1,2)$,将数组从 $[9,1]$ 转换为 $[8,8]$,因此最终数组的和为16。 - 在第三个测试用例中,可以证明使用这些操作无法实现大于18的和,因此最大和为18。

加入题单

算法标签: