아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

주사위 게임

면접 대비

시간 제한1초메모리 제한128 MB

요약
보드의 각 칸에 적힌 이동 지시와 주사위 눈금을 차례로 적용하며 말을 움직일 때, 목표 칸에 도달하는 데 걸리는 주사위 횟수를 구합니다.
난이도

쉬움10점 중 2점

유형
시뮬레이션, 배열
정답자
아직 제출이 없습니다

문제

상근이는 혼자서 보드 게임을 하고 있다. 보드는 NN개의 칸으로 이루어져 있으며, 출발점은 1번 칸, 도착점은 NN번 칸이다. 각 칸에는 지시 사항이 하나씩 적혀 있는데, 이는 말을 앞뒤로 몇 칸 이동시킬지를 나타낸다.

상근이는 도착점에 이를 때까지 다음을 반복한다. 먼저 주사위를 굴려 나온 눈의 수만큼 말을 앞으로 옮긴다. 그런 다음, 말이 멈춘 칸에 적힌 지시 사항만큼 말을 한 번 더 이동시킨다. 단, 지시 사항을 따라 이동해 도착한 칸의 지시 사항은 따르지 않는다.

말이 NN번 칸에 정확히 도착하거나 NN번 칸을 지나치는 경우 모두 도착한 것으로 본다.

주사위를 굴려 나온 눈의 수열과 보드의 지시 사항이 주어질 때, 상근이가 주사위를 몇 번 굴려야 도착점에 도달하는지 구하는 프로그램을 작성하시오.

입력

첫째 줄에 NN과 MM이 주어진다. MM은 상근이가 주사위를 굴린 횟수이다. (2≤N≤10002 \le N \le 1000, 1≤M≤10001 \le M \le 1000)

다음 NN개의 줄에는 −999-999 이상 999999 이하의 정수가 한 줄에 하나씩 주어진다. ii번째 정수는 ii번 칸에 적힌 지시 사항 XX이다. XX가 00이면 그 자리에 그대로 멈춰 있고, XX가 양수이면 XX칸 앞으로, 음수이면 ∣X∣|X|칸 뒤로 이동한다.

다음 MM개의 줄에는 11 이상 66 이하의 정수가 한 줄에 하나씩 주어진다. jj번째 정수는 상근이가 jj번째로 주사위를 굴렸을 때 나온 눈이다.

11번 칸과 NN번 칸의 지시 사항은 항상 00이다. 또한 주사위를 최대 MM번 굴리면 반드시 도착점에 도달할 수 있으며, 11번보다 작은 칸으로 이동하라는 지시는 주어지지 않는다.

출력

상근이가 주사위를 몇 번 굴려서 도착점에 도달하는지 출력한다.

예제2

  1. 예제 1

    입력
    10 5
    0
    0
    5
    6
    -3
    8
    1
    8
    -4
    0
    1
    3
    5
    1
    5
    
    예상 출력
    5
    
  2. 예제 2

    입력
    10 10
    0
    -1
    -1
    4
    4
    -5
    0
    1
    -6
    0
    1
    5
    2
    4
    6
    5
    5
    4
    1
    6
    
    예상 출력
    6