승범이네 면접
면접 대비시간 제한1초메모리 제한256 MB
여러 면접 장소가 표시된 방향 가중 그래프에서 임의의 장소까지의 최단 거리가 가장 먼 도시를 찾아 그 거리를 출력한다.
문제
마포구에는 모든 대학생이 입사를 바라는 대기업 ㈜승범이네 본사가 있다. 승범이는 ㈜승범이네의 사장인데, 일을 못 하는 직원들에게 화가 나서 전 직원을 해고하고 신입사원을 뽑으려 한다. 1차 서류전형이 끝난 뒤 합격자들은 면접을 준비하게 되었다.
면접자들은 서로 다른 N개의 도시에 산다. 승범이는 면접자들의 편의를 위해 그중 K개의 도시에 면접장을 배치했다. 도시끼리는 단방향 도로로 연결되며, 거리는 서로 다를 수 있다. 어떤 두 도시 사이에는 도로가 없을 수도, 여러 개가 있을 수도 있다. 또한 어떤 도시에서든 적어도 하나의 면접장까지 갈 수 있는 경로가 항상 존재한다.
모든 면접자는 자기 도시에서 출발하여 가장 가까운 면접장으로 갈 예정이다. 즉, 아래에서 말하는 '면접장까지의 거리'란 그 도시에서 도달할 수 있는 가장 가까운 면접장까지의 최단 거리를 뜻한다.
속초 출신 승범이는 지방의 서러움을 알기에, 각 도시에서 면접장까지의 거리 중 그 거리가 가장 먼 도시에서 오는 면접자에게 교통비를 주려고 한다.
승범이를 위해 면접장까지의 거리가 가장 먼 도시와 그 거리를 구해보자.
입력
첫째 줄에 도시의 수 N(2 ≤ N ≤ 100,000), 도로의 수 M(1 ≤ M ≤ 500,000), 면접장의 수 K(1 ≤ K ≤ N)가 공백을 두고 주어진다. 도시는 1번부터 N번까지 고유한 번호가 매겨진다.
다음 M개의 줄에 걸쳐 한 줄마다 도시의 번호 U, V(U ≠ V)와 도로의 길이 C(1 ≤ C ≤ 100,000)가 공백을 두고 순서대로 주어진다. 이는 도시 U에서 V로 갈 수 있는 도로가 있고 그 거리가 C라는 뜻이다.
마지막 줄에 면접장이 배치된 도시의 번호 K개가 공백을 두고 주어진다.
출력
첫째 줄에 면접장까지 거리가 가장 먼 도시의 번호를 출력한다. 그런 도시가 여러 곳이면 가장 작은 번호를 출력한다.
둘째 줄에 그 도시에서 면접장까지의 거리를 출력한다.