代码如下:
#include<bits/stdc++.h>
using namespace std;
int k[int(1e7+1)],ans[int(1e7+1)]={};
int main(){
int n,a,b,o;
cin>>n>>a>>b;
for(int i=0;i<n;i++)
{
cin>>k[i];
}
int *i=&ans[0],*j=&ans[1];
for(o=0;;o++)
{
i++;
ans[0]=1;
j++;
*j=*i+k[*i-1];
if(*j>n)j--;
if(*j==b)break;
*j=*i-k[*i-1];
if(*j<1)j--;
if(*j==b)break;
}
if(o==n+1)cout<<-1;
else cout<<o;
return 0;
}
结果