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

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

숙제

시간 제한2초메모리 제한512 MB

요약
각 과제의 소요 시간과 선행 관계가 주어질 때, 과제 하나를 건너뛰어 남은 과제를 모두 끝내는 데 걸리는 최소 시간을 구한다.
난이도

보통10점 중 6점

유형
그래프, 위상 정렬, 동적 계획법, 그리디
정답자
아직 제출이 없습니다

문제

세료자는 숙제를 하는 것을 매우 싫어하지만, 마지막 정보 수업 시간에 선생님이 반 전체에 nn개의 서로 다른 숙제를 내주셨다. 게다가 어떤 숙제는 다른 숙제를 먼저 해야만 할 수 있다.

세료자는 각 숙제를 하는 데 몇 분이 걸리는지 어림잡았다. 그러고 나서 세료자는 숙제를 전부 다 하기는 분명히 시간이 부족하다는 것을 깨달았다. 그래서 그는 숙제 하나만 빼고 전부 하기로 했다. 하나쯤 안 했다고 선생님이 그렇게까지 심하게 꾸짖지는 않을 테니까. 이제 세료자는 어떤 숙제를 하지 않을지 골라야 한다.

나머지 숙제를 최대한 빨리 끝내기 위해 하지 않아도 될 숙제를 세료자가 고르도록 도와주자.

입력

입력 파일의 첫째 줄에는 정수 nn과 mm이 주어진다. nn은 숙제의 수, mm은 숙제 사이의 의존 관계의 수이다 (1≤n≤1001 \le n \le 100, 0≤m≤10000 \le m \le 1000). 둘째 줄에는 nn개의 정수 t1,t2,…,tnt_1, t_2, \ldots, t_n이 주어진다. tit_i는 ii번째 숙제를 하는 데 필요한 분 수이다 (1≤ti≤10001 \le t_i \le 1000).

그다음 mm개의 줄이 주어지며, 각 줄에는 두 정수가 있다. 두 수 aa와 bb는 숙제 aa를 숙제 bb보다 먼저 해야 한다는 뜻이다. 모든 숙제를 다 할 수 있음이 보장된다.

출력

출력 파일에 하나의 수를 출력한다. 숙제 하나를 빼고 나머지 숙제를 전부 하는 데 필요한 최소 분 수이다.

힌트

주어진 예에서 세료자는 네 번째 숙제를 하지 않아도 된다. 나머지 숙제를 다 하는 데는 모두 11분이 걸린다.

예제1

  1. 예제 1

    입력
    5 5
    1 2 3 4 5
    1 2
    5 3
    1 3
    3 4
    2 4
    
    예상 출력
    11