比赛场次 38
比赛名称 20090715
比赛状态 已结束比赛成绩
开始时间 2009-07-15 08:10:00
结束时间 2009-07-15 11:50:00
开放分组 全部用户
注释介绍 2009暑期培训A班
题目名称 奇怪的电梯
输入输出 lift.in/out
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试点数 10 简单对比
用户 结果 时间 内存 得分
Gravatarcqw AAAAAAAAAA 0.000 s 0.00 MiB 100

奇怪的电梯

★   输入文件:lift.in   输出文件:lift.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第 $i(1\leq i\leq n)$ 层楼上有一个数字$k_i(0\leq k_i\leq n)$。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如: 3 3 1 2 5 代表了$k_i(k_1=3,k_2=3,k_3=1,k_4=2,k_5=5)$,从一楼开始。在一楼,按 “ 上 ” 可以到 $4$ 楼,按 “ 下 ” 是不起作用的,因为没有 $-2$ 楼。那么,从 $a$ 楼到 $b$ 楼至少要按几次上下按钮呢?

【输入格式】

输入共有二行。

第一行为三个用空格隔开的正整数,表示$n,a,b(1\leq n\leq 200,1\leq a,b\leq n)$。

第二行为 $n$ 个用空格隔开的正整数,表示 $k_i$。

【输出格式】

输出仅一行,即最少按上下按键次数 , 若无法到达,则输出 $-1$ 。

【样例输入】

5 1 5
3 3 1 2 5

【样例输出】

3

【样例解释】

在1楼按上,到达4楼;在4楼按下,到达2楼;在2楼按上,到达5楼。