만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

축약 독서

면접 대비

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

요약
각 장의 페이지 수와 선수 관계가 주어질 때, 의존하는 장이 없는 두 마지막 장을 골라 두 장과 그 선수 장들의 페이지 합이 최소가 되는 값을 구한다.
난이도

보통10점 중 5점

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

문제

Othmar 선생님은 과학 수업에서 아주 흥미로운 교과서를 사용하는 초등학교 교사이다. 이 책의 모든 장은 최대 한 개의 이전 장 내용에만 의존하지만, 그중 몇몇 장은 "정점 개념" 장으로 표시되어 있으며 이 장들에 의존하는 장은 없다. 이 장들은 그 앞에서 반드시 읽어야 하는 모든 이전 장 내용의 흐름이 정점에 이르는 지점을 나타낸다. 정점 개념 장이 아닌 장을 "선행 장"이라고 한다.

팬데믹으로 인한 여러 지연 때문에 Othmar 선생님은 수업에서 목표로 한 진도에 한참 뒤처져 있다. 책의 모든 정점 개념 장과 그에 필요한 선행 장을 모두 다루기에는 너무 늦었으므로, 정점 개념 장을 딱 두 개만 더 다루기로 했다. 아이들에게 휴식을 주기 위해, 읽어야 할 분량이 가장 적은 정점 개념 장 두 개를 고르기로 했다. 여기에는 그 장들뿐만 아니라 선행 장들도 포함된다.

입력

입력은 두 정수 nn mm이 있는 한 줄로 시작한다. nn (2≤n≤1 0002 \leq n \leq 1\,000)은 장의 수(장 번호는 11부터 nn)이고 mm (0≤m<n0 \leq m < n)은 장 의존성의 수이다. 그다음에는 각 장의 페이지 수를 나타내는 nn개의 양수가 주어진다. 이 값들은 한 줄 이상에 걸쳐 있을 수 있으며, 어떤 장의 페이지 수도 ≤1 000 \leq 1\,000이다. 그다음에는 mm개의 줄이 주어지며, 각 줄은 두 정수 aa bb (1≤a<b≤n)(1 \leq a < b \leq n)를 포함한다. 이는 장 aa를 장 bb보다 먼저 읽어야 함을 나타낸다. 어떤 장도 이 줄들에서 두 번째 정수로 두 번 이상 나타나지 않는다. 정점 개념 장은 적어도 두 개 있다.

출력

정점 개념 장 두 개를 완료하기 위해 읽어야 하는 최소 페이지 수를 출력한다.

예제2

  1. 예제 1

    입력
    7 6
    10 9 6 4 2 10 12
    1 2
    1 3
    2 4
    2 5
    3 6
    3 7
    
    예상 출력
    25
    
  2. 예제 2

    입력
    4 2
    10 7 4 6
    1 4
    2 3
    
    예상 출력
    27