Sequence Move 2

2 secs 1024 MB
AiletS's icon AiletS

問題文

一列で並んだ NN 個のマスがあります。左から ii 番目のマスを「マス ii」 とします。マス ii には整数 PiP_i が書かれています。

今 AiletS くんはマス1にいます。AiletS くんは以下の操作を繰り返し、マス NN に行くことが目標です。

  • AiletS くんが マス ii にいる時、1 以上 PiP_i 以下の整数 xx を選ぶ。現在のマス ww からマス w+xw+x に移動する

マス NN にちょうど到着するための操作回数の最小値を求めてください。もし、到達できない場合は -1 を出力てください。

制約

  • 2N2×1052 \leq N \leq 2 \times 10^5  
  • 1Pi1091 \leq P_i \leq 10^9 (1iN1)(1 \leq i \leq N - 1)
  • 入力は全て整数

入力

NN

P1P_1 P2P_2 ... PN1P_{N - 1}

出力

操作回数の最小値を出力してください。

サンプル

入力1
4
1 2 3
出力1
2

頂点1 \rarr 頂点2 \rarr 頂点4 のように移動するのが最適です。2回より小さい操作回数で頂点4に到達することはできないため、2を出力します。

入力2
4
1 1 1
出力2
3
入力3
5
4 3 2 1
出力3
1

Submit


Go (1.21)