题库练习 First or Second
← 上一题 下一题 →

A16831 | First or Second

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

有 $n$ 个孩子站成一排,第 $i$ 个孩子的友善值为 $a_i$。圣诞老人正在决定哪些孩子应列入友善名单,哪些孩子应列入调皮名单。

有一个整数 $X$,初始值为 $0$。圣诞老人将恰好进行 $n-1$ 次如下操作:

- 从队伍的第一个或第二个孩子中选择一个,将他移出队伍。
- 记被选中孩子的友善值为 $w$。
- 如果选择了第一个孩子,则把他加入友善名单,并将 $w$ 加到 $X$ 上。
- 如果选择了第二个孩子,则把他加入调皮名单,并将 $w$ 从 $X$ 中减去。

注意,所有操作后,有且仅有一个孩子没有被分配到任何名单。

请你计算,所有 $n-1$ 次操作后,圣诞老人能获得的 $X$ 的最大可能值。

输入格式

每个测试点包含多组测试用例。第一行包含测试用例数量 $t$($1 \le t \le 10^4$)。
每个测试用例的第一行包含一个整数 $n$($2 \le n \le 2\cdot 10^5$)——孩子的数量。
第二行包含 $n$ 个整数 $a_1,a_2,\ldots,a_n$($-10^9 \le a_i \le 10^9$)——每个孩子的友善值。

保证所有测试用例中 $n$ 的总和不超过 $2\cdot 10^5$。

输出格式

对于每个测试用例,输出一个整数,表示圣诞老人能获得的 $X$ 的最大可能值。

输入输出样例

输入 #1
7
2
2 -3
4
1 4 3 4
4
-4 2 3 -6
5
-2 -3 4 10 -9
5
-12345678 -1000000000 -999999999 1000000000 -999999999
2
-7 1
5
7 -6 -1 -8 -8
输出 #1
3
8
4
15
2987654321
-1
29
C++ 编辑器
输入
输出