CF1791E.Negatives and Positives

普及-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

Given an array aa consisting of nn elements, find the maximum possible sum the array can have after performing the following operation any number of times:

  • Choose 22 adjacent elements and flip both of their signs. In other words choose an index ii such that 1≤i≤n−11 \leq i \leq n - 1 and assign ai=−aia_i = -a_i and ai+1=−ai+1a_{i+1} = -a_{i+1}.

给定一个包含 nn 个元素的数组 aa,求对该数组执行以下操作任意次后所能得到的最大可能和:

  • 选择两个相邻元素,并同时翻转它们的符号。换言之,选择一个下标 ii(满足 1≤i≤n−11 \leq i \leq n - 1),并令 ai=−aia_i = -a_i 且 ai+1=−ai+1a_{i+1} = -a_{i+1}。

输入格式

The input consists of multiple test cases. The first line contains an integer tt (1≤t≤10001 \leq t \leq 1000) — the number of test cases. The descriptions of the test cases follow.

The first line of each test case contains an integer nn (2≤n≤2⋅1052 \leq n \leq 2\cdot10^5) — the length of the array.

The following line contains nn space-separated integers a1,a2,…,ana_1,a_2,\dots,a_n (−109≤ai≤109-10^9 \leq a_i \leq 10^9).

It is guaranteed that the sum of nn over all test cases does not exceed 2⋅1052\cdot10^5.

输入包含多个测试用例。第一行包含一个整数 tt(1≤t≤10001 \leq t \leq 1000),表示测试用例的数量。随后是各测试用例的描述。

每个测试用例的第一行包含一个整数 nn(2≤n≤2⋅1052 \leq n \leq 2\cdot10^5),表示数组的长度。

接下来的一行包含 nn 个以空格分隔的整数 a1,a2,…,ana_1,a_2,\dots,a_n(−109≤ai≤109-10^9 \leq a_i \leq 10^9)。

保证所有测试用例的 nn 之和不超过 2⋅1052\cdot10^5。

输出格式

For each test case, output the maximum possible sum the array can have after performing the described operation any number of times.

对于每个测试用例,输出在执行所述操作任意次数后,数组所能达到的最大可能和。

输入输出样例

  • 输入#1

    5
    3
    -1 -1 -1
    5
    1 5 -5 0 2
    3
    1 2 3
    6
    -1 10 9 8 7 6
    2
    -1 -1

    输出#1

    1
    13
    6
    39
    2

说明/提示

For the first test case, by performing the operation on the first two elements, we can change the array from [−1,−1,−1][-1, -1, -1] to [1,1,−1][1, 1, -1], and it can be proven this array obtains the maximum possible sum which is 1+1+(−1)=11 + 1 + (-1) = 1.

For the second test case, by performing the operation on −5-5 and 00, we change the array from [1,5,−5,0,2][1, 5, -5, 0, 2] to [1,5,−(−5),−0,2]=[1,5,5,0,2][1, 5, -(-5), -0, 2] = [1, 5, 5, 0, 2], which has the maximum sum since all elements are non-negative. So, the answer is 1+5+5+0+2=131 + 5 + 5 + 0 + 2 = 13.

For the third test case, the array already contains only positive numbers, so performing operations is unnecessary. The answer is just the sum of the whole array, which is 1+2+3=61 + 2 + 3 = 6.

对于第一个测试用例,对前两个元素执行操作后,数组可以从 [−1,−1,−1][-1, -1, -1] 变为 [1,1,−1][1, 1, -1],可以证明该数组达到了可能的最大和,即 1+1+(−1)=11 + 1 + (-1) = 1。

对于第二个测试用例,对 −5-5 和 00 执行操作后,数组从 [1,5,−5,0,2][1, 5, -5, 0, 2] 变为 [1,5,−(−5),−0,2]=[1,5,5,0,2][1, 5, -(-5), -0, 2] = [1, 5, 5, 0, 2],此时所有元素均非负,因此该数组具有最大和。故答案为 1+5+5+0+2=131 + 5 + 5 + 0 + 2 = 13。

对于第三个测试用例,数组中已全部为正数,因此无需执行任何操作。答案即为整个数组的和:1+2+3=61 + 2 + 3 = 6。

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

首页