#include<bits/stdc++.h>
using namespace std;
int k[210];
int dx[2]={1,-1};
int n,a,b;
int minn=1e9,ans,use[210];
void dfs(int x){
if(x==b){
minn=min(ans,minn);
ans=0;
return;
}
for(int i=0;i<2;i++){
int xx=dx[i]*k[x]+x;
if(use[xx]==0&&xx>=1&&xx<=n){
use[xx]=1;
ans++;
dfs(xx);
}
}
}
int main(){
cin>>n>>a>>b;
for(int i=1;i<=n;i++){
cin>>k[i];
}
dfs(a);
if(minn==1e9){
cout<<"-1";
return 0;
}
cout<<minn;
return 0;
}
8,9wa
请巨佬们帮忙看看,谢谢