CF2027C.Add Zeros

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

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

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

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

输入格式

每组测试数据包含多组测试用例。第一行包含一个整数 tt(1≤t≤10001 \le t \le 1000),表示测试用例的数量。

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

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤10121 \le a_i \le 10^{12})。

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

输出格式

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

输入输出样例

  • 输入#1

    4
    5
    2 4 6 2 5
    5
    5 4 4 5 1
    4
    6 8 2 3
    1
    1

    输出#1

    10
    11
    10
    1

说明/提示

在第一个测试用例中,我们可以先选择 i=4i = 4,因为 a4=5+1−4=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+1−3=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。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页