CF1472C.Long Jumps

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Long Jumps

题目描述

Polycarp 在圣诞树下发现了一个长度为 nn 的数组 aa,以及一份关于如何玩这个数组的说明:

  • 首先,选择一个下标 ii1in1 \leq i \leq n)作为数组的起始位置。将棋子放在下标 ii(即 aia_i 的位置)。
  • 只要 ini \leq n,就将 aia_i 加到你的得分上,并将棋子向右移动 aia_i 个位置(即将 ii 替换为 i+aii + a_i)。
  • 如果 i>ni > n,那么 Polycarp 就结束游戏。

例如,如果 n=5n = 5a=[7,3,1,2,3]a = [7, 3, 1, 2, 3],则可能的游戏过程如下:

  • Polycarp 选择 i=1i = 1。游戏过程:i=1+78i = 1 \overset{+7}{\longrightarrow} 8。游戏得分为:a1=7a_1 = 7
  • Polycarp 选择 i=2i = 2。游戏过程:$i = 2 \overset{+3}{\longrightarrow} 5 \overset{+3}{\longrightarrow} 8$。游戏得分为:a2+a5=6a_2 + a_5 = 6
  • Polycarp 选择 i=3i = 3。游戏过程:$i = 3 \overset{+1}{\longrightarrow} 4 \overset{+2}{\longrightarrow} 6$。游戏得分为:a3+a4=3a_3 + a_4 = 3
  • Polycarp 选择 i=4i = 4。游戏过程:i=4+26i = 4 \overset{+2}{\longrightarrow} 6。游戏得分为:a4=2a_4 = 2
  • Polycarp 选择 i=5i = 5。游戏过程:i=5+38i = 5 \overset{+3}{\longrightarrow} 8。游戏得分为:a5=3a_5 = 3

请你帮助 Polycarp 找出,如果他以最优方式选择起始下标,最多能获得多少分。

输入格式

第一行包含一个整数 tt1t1041 \leq t \leq 10^4),表示测试用例的数量。接下来有 tt 组测试用例。

每组测试用例的第一行包含一个整数 nn1n2×1051 \leq n \leq 2 \times 10^5),表示数组 aa 的长度。

下一行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1091 \leq a_i \leq 10^9),表示数组 aa 的元素。

保证所有测试用例中 nn 的总和不超过 2×1052 \times 10^5

输出格式

对于每个测试用例,输出一行一个整数,表示 Polycarp 按照题目描述的规则,在对应数组上玩游戏时能够获得的最大得分。注意,Polycarp 可以从 11nn 的任意起始位置选择,以使得得分最大。

说明/提示

第一个测试用例的解释见题面。

在第二个测试用例中,最大得分可以通过选择 i=1i = 1 获得。

在第三个测试用例中,最大得分可以通过选择 i=2i = 2 获得。

在第四个测试用例中,最大得分可以通过选择 i=1i = 1 获得。

由 ChatGPT 4.1 翻译

样例

4
5
7 3 1 2 3
3
2 1 4
6
2 1000 2 3 995 1
5
1 1 1 1 1
7
6
1000
5

在线编程 IDE

建议全屏模式获得最佳体验