#include<cstdio> #include<iostream> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> #include<bits/stdc++.h> typedef long long ll; using namespace std; const int N=1000001; const int oo=0x3f3f3f3f; struct node{ int next; int to; }e[N*3]; int n,x,a[N],cnt,head[N],vis[N],dis[N]; void add(int x,int y){ e[++cnt].to=y; e[cnt].next=head[x]; head[x]=cnt; } queue<int>q; void spfa() } } } } int main(){ freopen("452.in","r",stdin); freopen("452.out","w",stdout); scanf("%d %d",&n,&a[0]); add(0,a[0]); add(0,1); for(int i=1;i<n;i++){ scanf("%d",&a[i]); add(i,i-1); add(i,i+1); add(i,i+a[i]); } spfa(); printf("%d",dis[n]); return 0; }