对于一个序列$b$,如果它的第一个数小于或等于最后一个数,它的"价值"为序列中所有数字的和,否则"价值"为序列中所有数字的和乘以$-1$。
例如,当$b=[1,3,-7,-8]$,因为它的第一个数$1$大于最后一个数$-8$,价值$=(1+3+(-7)+(-8))\cdot(-1)=11\cdot(-1)=-11$。
给出一个序列$a$,你需要把$a$切成若干部分(或者不进行切割),例如,你可以把$a=[1,3,-2,1,2,6]$分成3个部分$[1,3],[-2,1,2],[6]$。注意你不能把$a$中的数字调换次序。
$a$的"珍贵值"为其所有部分的价值之和。你需要找出最大可能的珍贵值。
输入格式
本题有多组测试数据
输入的第一行包含一个正整数$T$,表示数据组数。
接下来包含$T$组数据,每组数据的格式如下:
输入的第一行包含一个正整数$n$,代表序列的长度。
输入的第二行包含$n$个正整数,第i个数代表$a_i$。
输出格式
对于每組數據:输出一行包含一个整数,代表切割序列后可以获得的最大价值总和。
数据范围
对于所有测试数据,保证:
$3 \le n \le 10^5$
$|a_i| \le 10^9$
$T=5$
| 数据编号 | $n$ | $\lvert a_i \rvert$ |
|---|---|---|
| 1 | $3$ | $\le 50$ |
| 2-5 | $\le 20$ | $\le 10^5$ |
| 6-7 | $\le 1000$ | $\le 10^5$ |
| 8-10 | $\le 1000$ | $\le 10^9$ |
| 11-12 | $\le 10^5$ | $\le 50$ |
| 13-18 | $\le 10^5$ | $\le 10^5$ |
| 19-20 | $\le 10^5$ | $\le 10^9$ |
Sample Test Cases
| Input | Output | |
|---|---|---|
| 5 1 1 2 -2 2 3 2 -1 4 4 2 -1 -5 -3 6 1 3 -2 1 2 6 |
1 0 5 11 11 |
|
对于第一组数据,唯一的方案是不进行切割,珍贵值为$1$。 对于第二组数据,可以不进行切割,珍贵值为$(-2)+2=0$。 对于第三组数据,可以把$a$分成$[2],[-1,4]$,珍贵值为$2+((-1)+4)=5$。 对于第四组数据,可以把$a$分成$[2],[-1,-5,-3]$,珍贵值为$2+((-1)+(-5)+(-3))\cdot(-1)=11$。 对于第五组数据,可以把$a$分成$[1,3],[-2,1,2],[6]$,珍贵值为$(1+3)+((-2)+1+2)+6=11$。 |
||
| /cut2.in | /cut2.ans | |
此样例满足第8-10测试点的限制 |
||
| /cut3.in | /cut3.ans | |
此样例满足第11-12测试点的限制 |
||
| /cut4.in | /cut4.ans | |
此样例满足第13-18测试点的限制 |
||
| /cut5.in | /cut5.out | |
此样例满足第19-20测试点的限制 |
||
Scoring: Per Case
Authored by wy24215
Appeared in 2025 Mini Comp 4 [WY Interschool Pre-SDIC]