가장 먼저 만나는 두 사람
시간 제한2초메모리 제한512 MB
가중 무방향 그래프의 정점에 사람들이 있을 때, 모든 쌍에 대해 두 사람 사이 최단 거리의 절반 중 최솟값을 구하고 10km/h 기준 분 단위로 출력한다.
문제
ACM 통신사가 새로 내놓은 "만남 경로" 앱을 홍보하려고 행사를 연다. 이 앱을 써서 가장 먼저 만난 두 사람에게 경품을 준다.
행사가 시작하기 직전, 모든 사람은 앱으로 서로의 위치를 알고 있다. 어떤 두 사람이 만나기로 정하면 두 사람은 앱이 알려준 최단 경로를 따라 서로를 향해 동시에 출발한다. 모든 사람의 이동 속도는 시속 10 km다. 두 사람 사이 최단 경로의 길이가 km라면 두 사람은 각각 km를 이동한 뒤에 만난다.
시상식을 준비하려면 행사가 끝나는 데 걸리는 최소 시간을 알아야 한다. 행사가 시작할 때 사람들의 위치와 그 지역의 지도가 주어질 때 이 시간을 구하자.
입력
첫째 줄에 행사에 참여하는 사람 수 , 지도에 있는 정점 개수 , 정점을 잇는 길의 개수 이 주어진다. (, , )
다음 개의 줄에는 각 사람의 위치를 나타내는 수 가 주어진다. () 번째 사람이 번 정점에 있다는 뜻이다. 여러 사람이 같은 정점에 있을 수도 있다.
다음 개의 줄에는 길 하나의 정보가 , , 로 주어진다. (, ) 번 정점과 번 정점을 잇는 길이 km인 길이 있다는 뜻이다. 길은 양쪽 방향으로 다닐 수 있고, 같은 두 정점을 잇는 길이 여러 개 주어질 수도 있다.
출력
어떤 두 사람이 만나는 데 걸리는 최단 시간을 분 단위로 구해 정수 하나를 출력한다. 서로 만날 수 있는 사람 쌍이 적어도 한 쌍 있다는 것은 보장된다. 두 사람이 같은 정점에서 출발하면 곧바로 만나므로 답이 0일 수도 있다.