# Practice on Toph

Participate in exhilarating programming contests, solve unique algorithm and data structure challenges and be a part of an awesome community.

Participate in exhilarating programming contests, solve unique algorithm and data structure challenges and be a part of an awesome community.

Recall that the sequence **b** is a subsequence of the sequence **a**, if **b** can be derived from **a** by removing zero or more elements without changing the order of the remaining elements. For example, if **a** = [1, 2, 1, 3, 1, 2, 1], then possible subsequences of **a** are: [1, 1, 1, 1], [3] and [1, 2, 1, 3, 1, 2, 1], but not [3, 2, 3] and [1, 1, 1, 1, 2].

You are given a sequence **a** consisting of **n** non-zero elements.

Your task is to choose any alternating subsequence of the given sequence (i.e. the sign of each next element is the opposite from the sign of the current element, like **positive-negative-positive** and so on or **negative-positive-negative** and so on). Among all such subsequences, you have to choose one which has the maximum sum of elements.

In other words, your task is to find the maximum sum of elements of some alternating subsequence of any length **(probably zero)**.

You have to answer **t** independent cases.

The first line of the input contains one integer **t** (1 ≤ **t** ≤ 10^{4}) — the number of test cases. Then **t** test cases follow.

The first line of the test case contains an integer **n** (1 ≤ **n** ≤ 2×10^{4}) — the number of elements in **a**.

The second line of the test case contains **n** integers (−10^{9} ≤ **a**_{i} ≤ 10^{9}, **a**_{i} ≠ 0), where **a**_{i} is the i^{th} element of **a**.

It is guaranteed that the sum of **n** over all test cases does not exceed **2×10 ^{6} (∑n ≤ 2×10^{6})**.

For each test case, print the answer — the maximum sum of alternating subsequence of **a**.

Input | Output |
---|---|

2 2 1 2 3 2 -1 3 | 2 4 |

58% Solution Ratio

Riaz_BSMRSTUEarliest,

RamprosadGFastest, 0.1s

Riaz_BSMRSTULightest, 131 kB

MehrabShortest, 359B

Login to submit