빗질의 중요성

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

요약
강아지마다 다른 빗질 주기와 M일 동안의 빗질 계획이 주어질 때, M+1일에 털이 엉킨 강아지 수를 구한다.
난이도

보통10점 중 4점

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

문제

혜민이는 NN마리의 강아지를 키우고 있다. 강아지마다 털의 길이와 특성이 달라, 일정 주기로 빗질을 해주어야 한다. 각 강아지는 자신만의 빗질 주기를 가지고 있으며, 주기마다 한 번씩 빗질하지 않으면 털이 엉켜버린다. 예를 들어, 빗질 주기가 33인 강아지는 마지막으로 빗질한 날을 기준으로 33일이 지나기 전에 다시 빗질을 받아야 하며, 그렇지 않으면 44일째 되는 날 빗질을 해도 털이 엉켜버린다.

혜민이는 하루에 한 마리의 강아지만 빗질할 수 있으며, 앞으로 MM일 동안 어떤 강아지를 빗질할지 미리 계획을 세웠다. 계획을 시작하기 하루 전, 혜민이는 모든 강아지의 털을 빗겨주었다. 따라서 계획이 시작되는 시점에는 털이 엉킨 강아지가 없으며, 엉킨 털은 이틀 연속으로 빗질해 주면 다시 풀린다.

혜민이의 계획대로 빗질했을 때, M+1M+1일에 털이 엉켜 있는 강아지가 몇 마리인지 구해보자.

입력

첫째 줄에 정수 NN과 정수 MM이 공백으로 구분되어 주어진다.(1≤N≤100;1≤M≤10,000)(1\leq N \leq 100;1\leq M \leq 10 \\,000)

둘째 줄에는 각 강아지의 빗질 주기를 의미하는 정수 NN개가 공백으로 구분되어 주어진다. ii번째 수 A_iA\_i는 ii번째 강아지를 A_iA\_i일에 한 번은 빗어야 함을 의미한다.(1≤A_i≤100)(1 \leq A\_i \leq 100)

셋째 줄에는 정수 MM개가 공백으로 구분되어 주어진다. ii번째 수 B_iB\_i는 ii일째 혜민이가 빗질한 강아지의 번호를 의미한다.(1≤B_i≤N)(1 \leq B\_i \leq N)

출력

M+1M+1일에 털이 엉켜 있는 강아지의 수를 출력한다.

예제2

  1. 예제 1

    입력
    3 5
    2 3 1
    3 2 3 1 3
    
    예상 출력
    3
    
  2. 예제 2

    입력
    4 6
    4 2 7 3
    4 2 1 4 2 2
    
    예상 출력
    0