불규칙한 수면 습관
시간 제한8초메모리 제한512 MB
주기적인 수면 시간표와 여러 면접 시작 시각이 주어질 때, 카페인을 최소 몇 번 복용해야 모든 면접에 늦지 않고 도착할 수 있는지 구한다.
문제
Peter는 수면 습관이 불규칙한 사람이다. 그는 매일 자정 12시에 잠자리에 든다. 어떤 날에는 한 시간만 자고 일어나고, 어떤 날에는 23시간을 자기도 한다. 수면 시간은 주기를 따라 변하는데, 주기의 첫 번째 날에는 항상 한 시간만 잔다.
불행히도 이번 달에 면접이 몇 개 있다. 늦지 않게 도착하고 싶은 것은 당연하다. 그는 무수 카페인을 복용해 언제든지 수면 주기를 주기의 처음으로 되돌릴 수 있다. 그러면 카페인을 복용한 뒤 한 시간을 자고 일어난다. 하지만 카페인은 건강에, 따라서 중요한 면접에도 영향을 줄 수 있으므로 가능한 한 복용을 피하고 싶다.
주기의 정보와 면접 일정이 주어졌을 때, Peter가 모든 면접에 늦지 않고 참석하기 위해 필요한 카페인의 최소 복용 횟수를 구하는 프로그램을 작성하라. 각 면접 장소로 이동하는 시간은 무시할 수 있다.
입력
입력은 다음 형식으로 주어진다.
T
t1 t2 . . . tT
N
D1 M1
D2 M2
. . .
DN MN
T는 주기의 길이이고 (1 ≤ T ≤ 30), ti (1 ≤ i ≤ T)는 주기의 i번째 날에 자는 시간을 시간 단위로 나타낸 것이다 (1 ≤ ti ≤ 23). N은 면접의 수이고 (1 ≤ N ≤ 100), Dj (1 ≤ j ≤ N)는 j번째 면접의 날짜이며 (1 ≤ Dj ≤ 100), Mj (1 ≤ j ≤ N)는 j번째 면접이 시작하는 시각이다 (1 ≤ Mj ≤ 23).
입력의 모든 수는 정수이다. 위에서 설명한 대로 t1은 항상 1이다. 1로 표시된 날은 Peter의 수면 주기에서 첫 번째 날이다.
출력
Peter가 무수 카페인을 복용해야 하는 최소 횟수를 출력한다.