#include <bits/stdc++.h>
using namespace std;
int n,a,b,k[201],minn=114514514,cnt=0;
void dfs(int n)
{
if(n==b)
{
minn = min(cnt,minn);
return ;
}
if(n-k[n]>0)
{
cnt++;
dfs(n-k[n]);
cnt--;
}
if(n+k[n]<=n)
{
cnt++;
dfs(n+k[n]);
cnt--;
}
return ;
}
int main()
{
cin>>n>>a>>b;
for(int i=1;i<=n;i++)
{
cin>>k[i];
}
dfs(a);
if(minn==114514514)
cout<<-1<<endl;
else
cout<<minn<<endl;
return 0;
}
测评记录