Time Limit: 10 sec / Memory Limit: 256 MB
配点: 100 点
問題
JOI さんは一人ですごろく遊びをしている.このすごろくには一直線上に N 個のマスがあり,それぞれ移動の指示が書かれている.スタート地点は 1 マス目であり,ゴールは N マス目である.JOI さんはゴールするまで次を繰り返す.
サイコロを振って出た目の数だけ現在のマスから進み,そのマスの指示に従う.指示に従って移動した先のマスの指示には従わない.
ちょうど N マス目に止まる時だけでなく,移動先が N マス目を超える場合もゴールとなる.
すごろくの盤面と,M 回分のサイコロの出る目が与えられたとき,サイコロを何回振ったところでゴールするかを出力するプログラムを作成せよ.
入力
入力は 1 + N + M 行からなる.
入力の 1 行目には 2 つの整数 N,M (2 \leqq N \leqq 1\,000,1 \leqq M \leqq 1\,000) が空白を区切りとして書かれている.N はすごろくのマス目の個数を,M は与えられるサイコロの目の個数を表す.
続く N 行には -999 以上 999 以下の整数が1つずつ書かれている.1+i 行目 (1 \leqq i \leqq N) の整数は,すごろくの i 番目のマスの指示を表す.書かれている整数を X とする.X = 0 のときは「何もしない」を,X > 0 のときは「X マス進む」を,X<0 のときは「|X| マス戻る」の指示を表す.ただし,|X| は X の絶対値を表す.
続く M 行には 1 以上 6 以下の整数が 1 つずつ書かれており,1 + N + j 行目 (1 \leqq j \leqq M) の数は j 回目に出るサイコロの目を表す.
ただし,2 行目と 1 + N 行目の数は必ず 0 である.1 マス目よりも前のマスに移動させる指示が書かれているマスはない.また,どの採点用入力データにおいてもサイコロを振る回数が M 以下でゴールできる.
出力
出力は,サイコロを何回振ったところでゴールするかを表す整数のみを含む 1 行からなる.
入力例 1
10 5 0 0 5 6 -3 8 1 8 -4 0 1 3 5 1 5
出力例 1
5
入力例 2
10 10 0 -1 -1 4 4 -5 0 1 -6 0 1 5 2 4 6 5 5 4 1 6
出力例 2
6