a,b=list(map(int,input().split()))
l=list(map(int,input().split()))
dic={}
for i in range(1,a):
dic[i]=i+l[i-1]
a=1
while True:
if a not in dic:
print('NO')
break
else:
a=dic[a]
if a==b:
print('YES')
break
#include <iostream>
#include <bits/stdc++.h>
typedef long long ll;
typedef long double ld;
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
ll n,t;
cin>>n>>t;
ll a[n+5]={0};
for(int i=1 ; i<n ; i++)
cin>>a[i];
ll pos=1;
bool f=0;
while(1)
{
if(pos==t)
{
f=1;
break;
}
pos=pos+a[pos];
if(pos>t)
break;
}
if(f)
cout<<"YES";
else
cout<<"NO";
return 0;
}
53. Maximum Subarray | 1527A. And Then There Were K |
1689. Partitioning Into Minimum Number Of Deci-Binary Numbers | 318. Maximum Product of Word Lengths |
448. Find All Numbers Disappeared in an Array | 1155. Number of Dice Rolls With Target Sum |
415. Add Strings | 22. Generate Parentheses |
13. Roman to Integer | 2. Add Two Numbers |
515. Find Largest Value in Each Tree Row | 345. Reverse Vowels of a String |
628. Maximum Product of Three Numbers | 1526A - Mean Inequality |
1526B - I Hate 1111 | 1881. Maximum Value after Insertion |
237. Delete Node in a Linked List | 27. Remove Element |
39. Combination Sum | 378. Kth Smallest Element in a Sorted Matrix |
162. Find Peak Element | 1529A - Eshag Loves Big Arrays |
19. Remove Nth Node From End of List | 925. Long Pressed Name |
1051. Height Checker | 695. Max Area of Island |
402. Remove K Digits | 97. Interleaving String |
543. Diameter of Binary Tree | 124. Binary Tree Maximum Path Sum |