CF1472C Long Jumps
题目描述
Polycarp 在圣诞树下发现了一个长度为 $n$ 的数组 $a$,以及一份关于如何玩这个数组的说明:
- 首先,选择一个下标 $i$($1 \leq i \leq n$)作为数组的起始位置。将棋子放在下标 $i$(即 $a_i$ 的位置)。
- 只要 $i \leq n$,就将 $a_i$ 加到你的得分上,并将棋子向右移动 $a_i$ 个位置(即将 $i$ 替换为 $i + a_i$)。
- 如果 $i > n$,那么 Polycarp 就结束游戏。
例如,如果 $n = 5$ 且 $a = [7, 3, 1, 2, 3]$,则可能的游戏过程如下:
- Polycarp 选择 $i = 1$。游戏过程:$i = 1 \overset{+7}{\longrightarrow} 8$。游戏得分为:$a_1 = 7$。
- Polycarp 选择 $i = 2$。游戏过程:$i = 2 \overset{+3}{\longrightarrow} 5 \overset{+3}{\longrightarrow} 8$。游戏得分为:$a_2 + a_5 = 6$。
- Polycarp 选择 $i = 3$。游戏过程:$i = 3 \overset{+1}{\longrightarrow} 4 \overset{+2}{\longrightarrow} 6$。游戏得分为:$a_3 + a_4 = 3$。
- Polycarp 选择 $i = 4$。游戏过程:$i = 4 \overset{+2}{\longrightarrow} 6$。游戏得分为:$a_4 = 2$。
- Polycarp 选择 $i = 5$。游戏过程:$i = 5 \overset{+3}{\longrightarrow} 8$。游戏得分为:$a_5 = 3$。
请你帮助 Polycarp 找出,如果他以最优方式选择起始下标,最多能获得多少分。
输入格式
第一行包含一个整数 $t$($1 \leq t \leq 10^4$),表示测试用例的数量。接下来有 $t$ 组测试用例。
每组测试用例的第一行包含一个整数 $n$($1 \leq n \leq 2 \times 10^5$),表示数组 $a$ 的长度。
下一行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \leq a_i \leq 10^9$),表示数组 $a$ 的元素。
保证所有测试用例中 $n$ 的总和不超过 $2 \times 10^5$。
输出格式
对于每个测试用例,输出一行一个整数,表示 Polycarp 按照题目描述的规则,在对应数组上玩游戏时能够获得的最大得分。注意,Polycarp 可以从 $1$ 到 $n$ 的任意起始位置选择,以使得得分最大。
说明/提示
第一个测试用例的解释见题面。
在第二个测试用例中,最大得分可以通过选择 $i = 1$ 获得。
在第三个测试用例中,最大得分可以通过选择 $i = 2$ 获得。
在第四个测试用例中,最大得分可以通过选择 $i = 1$ 获得。
由 ChatGPT 4.1 翻译