쇼핑몰

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

어떤 나라에 도시가 $N$개 있고, 도시들은 $M$개의 양방향 도로로 연결되어 있다. 이 가운데 $K$개의 도시에는 쇼핑몰이 있으며, 국민들은 도로를 따라 쇼핑몰이 있는 도시로 이동하여 쇼핑을 한다.

집은 도시 안에 있을 수도 있고, 도로 위의 임의의 지점에 있을 수도 있다. 어떤 집에서 쇼핑몰까지의 거리는 그 집에서 가장 가까운 쇼핑몰까지의 최단 거리로 정의한다. 사람들은 언제나 최단 경로로 이동하며, 도시 내부를 이동하는 데 걸리는 시간은 $0$이다.

도로 정보와 쇼핑몰이 있는 도시가 주어졌을 때, 쇼핑몰에서 가장 멀리 떨어진 집까지의 거리, 즉 가능한 모든 집의 위치에 대해 '가장 가까운 쇼핑몰까지의 최단 거리'가 최대가 되는 값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 도시의 수 $N$, 도로의 수 $M$, 쇼핑몰이 있는 도시의 수 $K$가 주어진다. 도시는 $1$번부터 $N$번까지 번호가 매겨져 있다. ($2 \le N \le 3000$, $1 \le M \le 10^5$, $1 \le K \le N$)

다음 $M$개 줄에는 각 도로의 정보 $a$, $b$, $l$이 주어진다. 이는 도시 $a$와 도시 $b$를 잇는 길이 $l$($1 \le l \le 1000$)의 도로가 있음을 의미한다. $a$와 $b$는 서로 다르며, 두 도시를 잇는 도로는 많아야 하나이다. 모든 도시는 도로를 통해 서로 이동할 수 있다(그래프는 연결되어 있다).

다음 $K$개 줄에는 쇼핑몰이 있는 도시의 번호가 한 줄에 하나씩 주어지며, 이 번호들은 서로 다르다.

출력

쇼핑몰에서 가장 멀리 떨어진 집까지의 거리를, 소수점 첫째 자리에서 반올림하여 정수로 출력한다.

힌트

어떤 집이 도시 $a$와 도시 $b$를 잇는 길이 $l$의 도로 위에 있고, 도시 $a$로부터 거리 $x$($0 \le x \le l$)만큼 떨어져 있다고 하자. 그러면 이 집에서 가장 가까운 쇼핑몰까지의 거리는 $\min(d_a + x,; d_b + (l - x))$이다. 여기서 $d_v$는 도시 $v$에서 가장 가까운 쇼핑몰까지의 최단 거리이다. 이 값이 최대가 되는 지점에서의 거리는 $\dfrac{d_a + d_b + l}{2}$이다.

첫 번째 예제에서는 모든 도로의 길이가 $1$이고 쇼핑몰은 $1$번 도시에만 있다. 쇼핑몰에서 가장 멀리 떨어진 집은 $2$번 도시와 $3$번 도시를 잇는 도로 위, $2$번 도시로부터 거리 $0.5$만큼 떨어진 지점에 있으며, 이 집과 쇼핑몰 사이의 거리는 $1.5$이다. 따라서 반올림하면 $2$가 된다.