#include<bits/stdc++.h> using namespace std; int n,a,b; int k[201]; int sum[201]; void dfs(int f,int step){ // cout<<f<<endl; if(f==b) sum[b]=min(sum[b],step); else { int tf=f+k[f]; if(tf>=1&&tf<=n&&sum[tf]>step){ dfs(tf,step+1); } tf=f-k[f]; if(tf>=1&&tf<=n&&sum[tf]>step) dfs(tf,step+1); } } int main(){ cin>>n>>a>>b; for(int i=1;i<=n;i++) { cin>>k[i]; sum[i]=10086; } dfs(a,0); cout<<sum[b]; return 0; } /************************************************************** Problem: 1819 User: liuchengxuan Language: C++ Result: Time Limit Exceed ****************************************************************/