카운티 축제
시간 제한2초메모리 제한512 MB
각 부스가 정해진 시각에 상품을 주고 부스 사이 이동 시간이 주어질 때, 존이 가장 많은 상품을 받을 수 있는 경로를 찾는다.
문제
Farmer John은 해마다 카운티 축제에 간다. 축제장에는 부스가 개 있고, 부스 는 그날 정확히 시각 에 경품을 하나 준다. John은 소들과 나눌 경품을 최대한 많이 모으려고, 경품이 나오는 바로 그 시각에 되도록 많은 부스에 서 있으려 한다.
부스 에서 부스 로 곧장 걸어가는 데는 만큼 걸린다. 축제장 배치가 특이해서 다른 부스를 거치면 더 빠른 경로가 있기도 하지만, John은 지도를 잘 읽지 못해 그런 경로를 전혀 떠올리지 못한다. 부스 에서 실제로 경품을 받을 수 있을 때만 부스 에서 부스 로 걸어가며, 가는 길에 다른 부스를 들르지 않는다. 오르막에서는 걸음이 느려지므로 와 가 다를 수 있다.
John은 시각 0에 부스 1에 있다. 이동 규칙은 다음과 같다.
- 어떤 부스에서 경품을 받으면 그 즉시 떠난다. 즉 부스 를 떠나는 시각은 다. 출발할 때만 예외로, 부스 1의 경품을 받지 않고 시각 0에 떠날 수 있다.
- 반대로 처음부터 부스 1에 머물러 시각 에 경품을 받아도 된다.
- 시각 에 부스 를 떠나면 부스 에 시각 에 닿는다. 인 부스 로만 걸어가고, 도착한 뒤에는 시각 까지 기다렸다가 경품을 받는다.
- 부스마다 경품은 한 번만 나오므로 같은 부스를 두 번 세지 않는다.
John이 받을 수 있는 경품의 최대 개수를 구하시오.
입력
첫째 줄에 이 주어진다. ()
다음 개 줄의 번째 줄에 부스 가 경품을 주는 시각 가 주어진다. ()
그다음 개 줄에는 순서쌍 마다 가 한 줄에 하나씩 주어진다. 처음 개 줄은 차례로 이고, 다음 개 줄은 이며, 이런 식으로 이어진다. 대각선 성분 은 0이고, 나머지 성분은 을 만족한다.
출력
첫째 줄에 John이 받을 수 있는 경품의 최대 개수를 출력한다.