Description
有一个奇怪的电梯,它可以停在任何一层楼,并且在每一层楼上有一个数字Xi 。
这个电梯只有两个按钮:UP 和 DOWN。
当你在第 i 层楼的时候,如果你按 UP ,那么你将上升 Xi 层楼(即是说你将到达第 i+Xi 层楼),
如果你按 DOWN,那么你将下降 Xi 层楼(即是说你将到达第 i-Xi 层楼)。
当然,你最多到达第 N 层楼,至少到达第 1 层楼。
例如,有一个5层楼的建筑,并且X1=3,X2=3, X3=1, X4=2, X5=5。
假如最开始你在第 1 层楼,那么此时如果你按 UP 的话,你将到达第4层楼(X1=3,1+3==4),
但是此时如果你按 DOWN 的话,则电梯不能操作,因为你不能到达 -2 层楼(X1=3,1-3 == -2)。
现在的任务是:假如你在第 A 层楼,你想去第 B 层楼,那么你至少需要按几次按钮(UP 或 DOWN)??
Input
多组输入
第一行输入三个数N,A,B (2 <= N,A,B <= 1000)
当 N==0时,输入结束。
第二行输入 N 个非负整数(即是题目描述中的Xi)。
Output
若能从A 到达B,则输出最少的按键数,否则输出 -1
Sample Input
5 1 5
3 3 1 2 5
2 1 2
55 6666
0
Sample Output
3
-1
代码