#P3021. 重生之我要成为前缀和高手

重生之我要成为前缀和高手

题目描述

给定一个初始包含 nn 个整数的数组 aa。每次操作,你必须执行以下步骤:

  • 选择一个位置 ii,满足 1<ia1 < i \le |a|ai=a+1ia_i = |a| + 1 - i,其中 a|a| 表示当前数组 aa 的长度。
  • aa 的末尾追加 i1i-1 个零。

你可以进行任意多次这样的操作。请问,经过若干次操作后,数组 aa 的最大可能长度是多少?

输入格式

每组测试数据包含多组测试用例。第一行包含一个整数 tt1t1001 \le t \le 100),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn1n31051 \le n \le 3 \cdot 10^5),表示数组 aa 的长度。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n1ai10121 \le a_i \le 10^{12}

保证所有测试用例中 nn 的总和不超过 31053 \cdot 10^5

输出格式

对于每个测试用例,输出一个整数,表示经过若干次操作后数组 aa 的最大可能长度。

样例

4
5
2 4 6 2 5
5
5 4 4 5 1
4
6 8 2 3
1
1
10
11
10
1

在第一个测试用例中,我们可以先选择 i=4i = 4,因为 a4=5+14=2a_4 = 5 + 1 - 4 = 2。此时数组变为 [2,4,6,2,5,0,0,0][2, 4, 6, 2, 5, 0, 0, 0]。接着可以选择 i=3i = 3,因为 a3=8+13=6a_3 = 8 + 1 - 3 = 6。此时数组变为 [2,4,6,2,5,0,0,0,0,0][2, 4, 6, 2, 5, 0, 0, 0, 0, 0],长度为 1010。可以证明,没有其他操作序列能使最终数组更长。

在第二个测试用例中,可以依次选择 i=2i=2,然后 i=3i=3,再然后 i=4i=4。最终数组为 [5,4,4,5,1,0,0,0,0,0,0][5, 4, 4, 5, 1, 0, 0, 0, 0, 0, 0],长度为 1111