#172. 传送(Teleportation)

传送(Teleportation)

题目描述

nn 个房间标号从 0 n10 ~ n-1,dash初始在房间 00,他需要走到房间 xx。每个房间初始化有个数值 ai a_i,当dash在房间 ii 时,可以进行如下两种操作任意次:

  1. 传送到房间 (i+ai)%n (i + a_i ) \% n
  2. 设置aiai+1a_i \leftarrow a_i + 1

不论dash进行那种操作,都会消耗一点能量,求出dash 从房间 00 到 房间 xx 所消耗的最少能量。

输入格式

第一行两个整数 n,x (1n105,1xn1)n,x \ (1\le n\le 10^5, 1\le x\le n-1)

第二行输入 nn 个整数 ai (0ain1)a_i\ (0\le a_i\le n-1)

输出格式

一行一个整数代表答案。

样例

4 3
0 1 2 3
4
4 3
0 0 0 0
4
4 3 
2 2 2 2
2

样例解释

可以进行如下四次操作,消耗四点能量:

  1. 在房间 00 设置 a0a0+1a_0 \leftarrow a_0 + 1
  2. 传送到房间 (0+1)%4=1 (0 + 1)\%4 = 1
  3. 在房间 11 设置 a1a1+1a_1 \leftarrow a_1 + 1
  4. 传送到房间 (1+2)%4=3 (1 + 2)\%4 = 3