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

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

제다이 아카데미

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

요약
스킬 간 선수 관계가 주어진 DAG에서 두 건물을 오가며 모든 스킬을 배우는 최소 시간을 구한다.
난이도

보통10점 중 7점

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

문제

제다이가 되려면 많은 이론과 실기 능력을 익혀야 한다. 제다이 아카데미에서는 재능만 있다면 필요한 모든 것을 배울 수 있다.

아카데미의 신입생 필은 재능이 뛰어나 개인 지도를 받는다. 필은 자기 시간표를 스스로 짤 수 있다. 호기심이 많은 필은 모든 시간을 공부에 쓴다. 필이 공부하지 않는 순간은 아카데미의 한 건물에서 다른 건물로 이동할 때, 또는 기숙사에서 건물로 갈 때뿐이다. 아카데미에는 두 개의 건물이 있고, 한 건물에서는 이론 능력을, 다른 건물에서는 실기 능력을 가르친다. 한 건물에서 다른 건물로 가는 데는 정확히 aa분이 걸린다. 어떤 능력이든 익히는 데는 정확히 bb분이 걸린다. 처음에 필은 기숙사에 있고, 기숙사에서 각 건물로 가는 데도 aa분이 걸린다.

물론 능력을 아무 순서로나 익힐 수는 없다. 예를 들어 광선검을 다루려면 먼저 광학의 기초와 맨손 격투술을 익혀야 한다. 필은 시간표를 짤 때 이 점을 고려해야 한다.

필은 최대한 빨리 제다이가 되고 싶지만, 그러려면 필요한 모든 능력을 익혀야 한다. 공부를 시작하기 전에 필은 모든 능력을 익히는 데 최소 몇 분이 걸리는지 알고 싶어 한다. 필을 도와주자. 공부를 마치면 필은 곧바로 악과 싸우러 떠나며, 기숙사로 돌아갈 필요는 없다.

입력

첫째 줄에는 아카데미에서 익혀야 하는 능력의 개수 nn이 정수로 주어진다 (1≤n≤1051 \le n \le 10^5). 모든 능력에는 1부터 nn까지 번호가 붙어 있다.

다음 nn개 줄에는 각 능력을 익히기 위한 조건이 적혀 있다. 이 줄들 중 ii번째 줄의 맨 앞에는 1 또는 2가 주어지며, ii번째 능력을 어느 건물에서 익힐 수 있는지 나타낸다. 그다음에는 ii번째 능력을 익히는 데 필요한 능력의 개수 kk가 주어진다. 이어서 같은 줄에 ii번째 능력을 익히는 데 필요한 능력들의 번호 kk개가 주어진다. 모든 능력의 kk 값의 합은 10510^5을 넘지 않는다.

그다음 줄에는 두 정수 aa와 bb가 주어진다. aa는 한 건물에서 다른 건물로, 또는 기숙사에서 건물로 이동하는 데 걸리는 시간(분)이고, bb는 능력 하나를 익히는 데 걸리는 시간(분)이다 (1≤a,b≤1041 \le a, b \le 10^4).

모든 능력을 익히는 순서 중에서, 각 능력을 익힐 때마다 그 능력에 필요한 능력들이 이미 모두 익혀져 있는 순서가 존재한다.

출력

첫째 줄에 필이 제다이가 되는 데 필요한 최소 시간을 분 단위로 출력한다.

예제1

  1. 예제 1

    입력
    6
    1 3 3 4 5
    2 1 4
    2 2 5 6
    1 1 6
    1 0
    1 0
    15 40
    
    예상 출력
    285