새 등산로 개척
시간 제한2초메모리 제한512 MB
정점을 특별과 일반으로 나눈 그래프에서 특별-일반 간선을 정확히 w개 포함하는 최소 비용 신장 트리를 찾는다.
문제
어느 주가 아무도 손대지 않은 넓은 땅을 사들여 등산로가 있는 자연공원으로 만들려고 한다. 이 땅에는 방문객이 걸어가 보고 싶어 할 명소가 곳 있고, 그중 곳은 특별한 명소다. 주는 등산로를 놓아 이 명소들을 연결하려고 한다.
등산로 후보는 개이다. 각 후보는 두 명소를 직접 연결하며 저마다 비용이 다르다. 등산로를 고를 때는 다음 조건을 지켜야 한다.
- 어떤 명소에서 다른 어떤 명소로 가는 경로가 정확히 하나만 존재해야 한다.
- 고른 등산로 중 특별한 명소와 일반 명소를 직접 잇는 등산로가 정확히 개여야 한다.
물론 주는 등산로를 놓는 총비용을 최소로 하고 싶다. 조건을 만족하는 최소 총비용을 구하라.
입력
입력은 하나의 테스트 케이스로 이루어진다.
첫째 줄에 네 정수 , , , 가 주어진다. ()은 명소의 수, ()은 명소 사이를 직접 잇는 등산로 후보의 수, ()는 특별한 명소의 수, ()는 놓아야 하는 특별한 명소와 일반 명소 사이 등산로의 수이다. 명소에는 부터 까지 번호가 붙어 있다.
다음 개 줄에는 특별한 명소의 번호 ()가 한 줄에 하나씩 주어진다. 이 값은 모두 서로 다르며 오름차순으로 주어진다.
다음 개 줄에는 주가 놓을 수 있는 등산로 후보가 주어진다. 각 줄은 세 정수 , , 로 이루어지며, 명소 와 를 잇는 등산로의 비용이 라는 뜻이다(, , ). 두 명소 사이의 후보는 많아야 하나이고, 에서 로 가는 등산로와 에서 로 가는 등산로는 같다.
출력
조건을 만족하도록 등산로를 놓을 때의 최소 총비용을 정수 하나로 출력한다. 조건을 만족하는 방법이 없으면 을 출력한다.