#P1604. Return to zero

Return to zero

Description

给定一个长度为 nn 的整数序列 SS ,使得 s1+s2++sn=0s_1+s_2+\cdots+s_n=0

你可以做一种操作,选择不同的 iij(1i,jn)j(1\leq i,j\leq n),可以使得 ai=ai1a_i = a_i - 1aj=aj+1a_j=a_j+1。如果操作中 i<ji < j,则操作免费,反之,操作会需要消耗一个能量值。

至少需要消耗多少能量值才能使得整个序列都变成 00

Input Format

包含多组样例,第一行描述了组数 TT,接下来有 TT 组数据(T[1,5000]T\in [1, 5000]):

第一行数据包括一个整数 nn 代表元素数量(n[1,105]n \in [1, 10^5]);

第二行有 nn 个整数 s1,s2,,sn(si[109,109])s_1,s_2,\cdots,s_n(s_i \in [-10^9 , 10^9]),保证i=1nsi=0\sum_{i=1}^{n}s_i=0;

Output Format

对于每一组样例输出最少我们需要多少能量值才可以使得所有的元素都归零。

4
4
-3 5 -3 1
2
1 -1
4
-3 2 -3 4
4
-1 1 1 -1​
3
0
4
1​

Hint

第一组样例:

i=2,j=3i=2,j=3 ==>[-3,2,0,1]花费0

i=2,j=1i=2,j=1 ==>[-1,0,0,1]花费2

i=2,j=3i=2,j=3 ==>[0,0,0,0]花费1