CF1272E Nearest Opposite Parity
题目描述
给出一个长度为 $n$ 的序列 $a_1,a_2,\cdots,a_n$,当你在第 $i$ 号位置时,你可以一步跳到 $i-a_i$ 或 $i+a_i$。
对于每一个位置 $i$,你想知道最少需要多少步可以到达一个位置 $j$,使得 $a_j$ 与 $a_i$ 的奇偶性不同。
输入格式
第一行一个整数 $n$,表示序列的长度。
第二行 $n$ 个整数 $a_1,a_2, \cdots ,a_n$,表示题目中的序列。
输出格式
一行 $n$ 个整数 $d_1,d_2, \cdots ,d_n$,其中 $d_i$ 表示对于位置 $i$,到达一个位置 $j$,使得 $a_j$ 与 $a_i$ 的奇偶性不同需要的最少步数,如果不能到达这样的位置 $j$,输出$-1$。
说明/提示
$1 \le n \le 2 \cdot 10^5$,$1 \le a_i \le n$。