CF1667B.Optimal Partition

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

You are given an array aa consisting of nn integers. You should divide aa into continuous non-empty subarrays (there are 2n12^{n-1} ways to do that).

Let s=al+al+1++ars=a_l+a_{l+1}+\ldots+a_r . The value of a subarray al,al+1,,ara_l, a_{l+1}, \ldots, a_r is:

  • (rl+1)(r-l+1) if s>0s>0 ,
  • 00 if s=0s=0 ,
  • (rl+1)-(r-l+1) if s<0s<0 .

What is the maximum sum of values you can get with a partition?

输入格式

The input consists of multiple test cases. The first line contains a single integer tt ( 1t51051 \le t \le 5 \cdot 10^5 ) — the number of test cases. The description of the test cases follows.

The first line of each test case contains a single integer nn ( 1n51051 \le n \le 5 \cdot 10^5 ).

The second line of each test case contains nn integers a1a_1 , a2a_2 , ..., ana_n ( 109ai109-10^9 \le a_i \le 10^9 ).

It is guaranteed that the sum of nn over all test cases does not exceed 51055 \cdot 10^5 .

输出格式

For each test case print a single integer — the maximum sum of values you can get with an optimal parition.

输入输出样例

  • 输入#1

    5
    3
    1 2 -3
    4
    0 -2 3 -4
    5
    -1 -2 3 -1 -1
    6
    -1 2 -3 4 -5 6
    7
    1 -1 -1 1 -1 -1 1

    输出#1

    1
    2
    1
    6
    -1

说明/提示

Test case 11 : one optimal partition is [1,2][1, 2] , [3][-3] . 1+2>01+2>0 so the value of [1,2][1, 2] is 22 . 3<0-3<0 , so the value of [3][-3] is 1-1 . 2+(1)=12+(-1)=1 .

Test case 22 : the optimal partition is [0,2,3][0, -2, 3] , [4][-4] , and the sum of values is 3+(1)=23+(-1)=2 .

首页