숙제
시간 제한2초메모리 제한512 MB
각 과제의 소요 시간과 선행 관계가 주어질 때, 과제 하나를 건너뛰어 남은 과제를 모두 끝내는 데 걸리는 최소 시간을 구한다.
문제
세료자는 숙제를 하는 것을 매우 싫어하지만, 마지막 정보 수업 시간에 선생님이 반 전체에 개의 서로 다른 숙제를 내주셨다. 게다가 어떤 숙제는 다른 숙제를 먼저 해야만 할 수 있다.
세료자는 각 숙제를 하는 데 몇 분이 걸리는지 어림잡았다. 그러고 나서 세료자는 숙제를 전부 다 하기는 분명히 시간이 부족하다는 것을 깨달았다. 그래서 그는 숙제 하나만 빼고 전부 하기로 했다. 하나쯤 안 했다고 선생님이 그렇게까지 심하게 꾸짖지는 않을 테니까. 이제 세료자는 어떤 숙제를 하지 않을지 골라야 한다.
나머지 숙제를 최대한 빨리 끝내기 위해 하지 않아도 될 숙제를 세료자가 고르도록 도와주자.
입력
입력 파일의 첫째 줄에는 정수 과 이 주어진다. 은 숙제의 수, 은 숙제 사이의 의존 관계의 수이다 (, ). 둘째 줄에는 개의 정수 이 주어진다. 는 번째 숙제를 하는 데 필요한 분 수이다 ().
그다음 개의 줄이 주어지며, 각 줄에는 두 정수가 있다. 두 수 와 는 숙제 를 숙제 보다 먼저 해야 한다는 뜻이다. 모든 숙제를 다 할 수 있음이 보장된다.
출력
출력 파일에 하나의 수를 출력한다. 숙제 하나를 빼고 나머지 숙제를 전부 하는 데 필요한 최소 분 수이다.
힌트
주어진 예에서 세료자는 네 번째 숙제를 하지 않아도 된다. 나머지 숙제를 다 하는 데는 모두 11분이 걸린다.