CF1787D.Game on Axis
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
There are n points 1,2,…,n , each point i has a number ai on it. You're playing a game on them. Initially, you are at point 1 . When you are at point i , take following steps:
- If 1≤i≤n , go to i+ai ,
- Otherwise, the game ends.
Before the game begins, you can choose two integers x and y satisfying 1≤x≤n , −n≤y≤n and replace ax with y (set ax:=y ). Find the number of distinct pairs (x,y) such that the game that you start after making the change ends in a finite number of steps.
Notice that you do not have to satisfy ax=y .
输入格式
Each test contains multiple test cases. The first line contains an integer t ( 1≤t≤104) — the number of test cases.
The first line of each test case contains one integer n ( 1≤n≤2⋅105 ) — the number of points.
The second line contains n integers a1,a2,…,an ( −n≤ai≤n ) — the numbers on the axis.
It's guaranteed that the sum of n does not exceed 2⋅105 .
输出格式
For each test case, print a line containing a single integer — the number of distinct pairs (x,y) with which the game ends.
输入输出样例
输入#1
9 1 0 2 -1 0 2 1 -1 2 1 1 3 -1 -2 -1 3 1 -2 -1 4 -1 4 -2 1 5 1 1 1 1 -4 5 1 1 1 1 1
输出#1
2 8 6 7 20 17 34 30 40
说明/提示
In the first test case, the pairs (x,y) with which the game ends are (1,−1) and (1,1) , corresponding to the routes 1→0 and 1→2 . Note that (1,2) is invalid since when n=1 , y=2 violates −n≤y≤n . (1,0) is also invalid since you will go from 1 to 1 forever.
In the second test case, the pairs are (1,−2),(1,−1),(1,2),(2,−2),(2,−1),(2,0),(2,1),(2,2) .
In the fourth test case, the pairs are (1,−2),(1,−1),(1,1),(1,2),(2,−2),(2,1),(2,2) .