제다이 아카데미
시간 제한2초메모리 제한512 MB
스킬 간 선수 관계가 주어진 DAG에서 두 건물을 오가며 모든 스킬을 배우는 최소 시간을 구한다.
문제
제다이가 되려면 많은 이론과 실기 능력을 익혀야 한다. 제다이 아카데미에서는 재능만 있다면 필요한 모든 것을 배울 수 있다.
아카데미의 신입생 필은 재능이 뛰어나 개인 지도를 받는다. 필은 자기 시간표를 스스로 짤 수 있다. 호기심이 많은 필은 모든 시간을 공부에 쓴다. 필이 공부하지 않는 순간은 아카데미의 한 건물에서 다른 건물로 이동할 때, 또는 기숙사에서 건물로 갈 때뿐이다. 아카데미에는 두 개의 건물이 있고, 한 건물에서는 이론 능력을, 다른 건물에서는 실기 능력을 가르친다. 한 건물에서 다른 건물로 가는 데는 정확히 분이 걸린다. 어떤 능력이든 익히는 데는 정확히 분이 걸린다. 처음에 필은 기숙사에 있고, 기숙사에서 각 건물로 가는 데도 분이 걸린다.
물론 능력을 아무 순서로나 익힐 수는 없다. 예를 들어 광선검을 다루려면 먼저 광학의 기초와 맨손 격투술을 익혀야 한다. 필은 시간표를 짤 때 이 점을 고려해야 한다.
필은 최대한 빨리 제다이가 되고 싶지만, 그러려면 필요한 모든 능력을 익혀야 한다. 공부를 시작하기 전에 필은 모든 능력을 익히는 데 최소 몇 분이 걸리는지 알고 싶어 한다. 필을 도와주자. 공부를 마치면 필은 곧바로 악과 싸우러 떠나며, 기숙사로 돌아갈 필요는 없다.
입력
첫째 줄에는 아카데미에서 익혀야 하는 능력의 개수 이 정수로 주어진다 (). 모든 능력에는 1부터 까지 번호가 붙어 있다.
다음 개 줄에는 각 능력을 익히기 위한 조건이 적혀 있다. 이 줄들 중 번째 줄의 맨 앞에는 1 또는 2가 주어지며, 번째 능력을 어느 건물에서 익힐 수 있는지 나타낸다. 그다음에는 번째 능력을 익히는 데 필요한 능력의 개수 가 주어진다. 이어서 같은 줄에 번째 능력을 익히는 데 필요한 능력들의 번호 개가 주어진다. 모든 능력의 값의 합은 을 넘지 않는다.
그다음 줄에는 두 정수 와 가 주어진다. 는 한 건물에서 다른 건물로, 또는 기숙사에서 건물로 이동하는 데 걸리는 시간(분)이고, 는 능력 하나를 익히는 데 걸리는 시간(분)이다 ().
모든 능력을 익히는 순서 중에서, 각 능력을 익힐 때마다 그 능력에 필요한 능력들이 이미 모두 익혀져 있는 순서가 존재한다.
출력
첫째 줄에 필이 제다이가 되는 데 필요한 최소 시간을 분 단위로 출력한다.