도시들

가중 무방향 그래프에서 k개의 중요한 도시(k는 최대 10)가 모두 한 연결 요소에 속하도록 간선을 골라 최소 비용을 구한다.

보통7최소 신장 트리동적 계획법그래프유니온 파인드면접 대비아직 제출이 없습니다시간 제한4초메모리 제한256 MB

문제

사과나라에는 도시가 nn개 있고, 그중 kk개는 국왕 구사과가 자주 방문하는 중요한 도시다. 도시와 도시를 잇는 도로는 mm개 있으며, 도시에는 11번부터 nn번까지 번호가 붙어 있다.

어느 날 사과나라에 폭풍이 몰아쳤다. 건국 이래 가장 큰 자연재해였고, 이 때문에 모든 도로가 제 구실을 하지 못하게 되었다. 대신들은 도시 사이의 교류를 이어가려고 도로를 다시 세우기로 했고, 도로마다 재건 비용을 조사해 알아냈다.

그러나 사치와 향락에 찌든 생활을 하던 구사과 때문에 국고가 텅 비어서, 모든 도로를 재건할 수는 없었다. 대신들은 급한 대로 중요한 도시가 서로 이어지도록, 즉 어느 중요한 도시에서든 다른 모든 중요한 도시에 도달할 수 있도록 도로를 골라 먼저 재건하려고 한다.

중요한 도시가 서로 이어지도록 도로를 재건하는 최소 비용을 구하라.

입력

첫째 줄에 도시의 개수 nn, 중요한 도시의 개수 kk, 도로의 개수 mm이 공백으로 구분되어 주어진다.

둘째 줄에 공백으로 구분된 kk개의 정수가 주어진다. 이 수는 11 이상 nn 이하의 서로 다른 정수로, 중요한 도시의 번호다.

다음 mm개의 줄에 도로의 정보가 한 줄에 하나씩 주어진다. 각 줄에는 세 정수 aa, bb, cc가 주어지며, 이 도로가 도시 aa와 도시 bb를 잇고 이 도로를 재건하는 데 비용 cc가 든다는 뜻이다.

모든 도시는 도로로 연결되어 있다. 같은 두 도시를 잇는 도로가 여러 개 있을 수 있다.

출력

중요한 도시가 서로 이어지도록 도로를 재건하는 최소 비용을 정수 하나로 출력한다.

제한

  • 1n1001 \le n \le 100
  • 1kmin(n,10)1 \le k \le \min(n, 10)
  • 0m20000 \le m \le 2000
  • 1a,bn1 \le a, b \le n, aba \ne b
  • 1c1091 \le c \le 10^9