스키
시간 제한1초메모리 제한1024 MB
거리와 속도가 주어진 스키 경로 방향 그래프에서 리프트로 도달 가능한 지점에서 호텔 IOI까지 가는 경로 중 총 시간을 총 거리로 나눈 값이 최소인 코스를 찾는다.
문제
JOI 씨는 스키장으로 유명한 IOI 고원에서 호텔 IOI를 운영하고 있다. IOI 고원은 지형이 매우 복잡해서 스키 상급자에게 인기가 많지만, 그 복잡한 지형 때문에 초보자에게는 그다지 친절하지 않다. 그러나 JOI 씨는 초보자도 IOI 고원의 매력을 느끼기를 바란다.
그래서 가장 쉬운 코스를 찾아 그 코스로 IOI 고원을 초보자에게 홍보하려 한다. 여기서 가장 쉬운 코스란 평균 속도(전체 구간의 거리를 걸린 시간으로 나눈 속도)가 가장 낮은 코스이다. 다만 JOI 씨는 호텔 IOI를 꼭 이용하게 하고 싶으므로, 코스의 시작점은 반드시 호텔 IOI에서 직접 나가는 리프트로 갈 수 있는 지점이어야 하고, 코스의 끝점은 반드시 호텔 IOI여야 한다.
IOI 고원의 각 지점에는 해발 고도가 높을수록 작은 번호가 부여된다. 또한 고도가 같은 지점은 없다고 생각해도 되고, 높은 지점에서 더 낮은 지점으로만 이동한다고 생각해도 되므로 어떤 지점에서 같은 지점으로 돌아올 수는 없다.
코스로 쓸 수 있는 길과 그 거리, 그 구간의 평균 속도, 그리고 호텔 IOI에서 리프트로 갈 수 있는 지점이 주어졌을 때, 가장 쉬운 코스의 평균 속도를 구하고 그 평균 속도의 소수 첫째 자리를 반올림한 정수를 출력하는 프로그램을 작성하시오.
입력
1번째 줄에는 지점 번호의 최댓값이자 호텔 IOI의 지점을 나타내는 양의 정수 n (1 ≤ n ≤ 10000)과, 호텔 IOI에서 리프트로 갈 수 있는 지점의 수를 나타내는 양의 정수 m (1 ≤ m < n), 코스로 쓸 수 있는 길의 수를 나타내는 양의 정수 c (1 ≤ c ≤ 100000)의 세 수가 공백으로 구분되어 쓰여 있다.
2번째 줄에는 호텔 IOI에서 리프트로 갈 수 있는 지점을 나타내는 양의 정수 ai (1 ≤ i ≤ m, 1 ≤ ai < n)가 m개, 공백으로 구분되어 쓰여 있다.
3번째 줄부터 j + 2번째 줄 (1 ≤ j ≤ c)의 각 줄에는 코스로 쓸 수 있는 길의 시작점 지점 번호를 나타내는 양의 정수 fj와 끝점 지점 번호를 나타내는 양의 정수 tj (1 ≤ fj < tj ≤ n), 그 길의 시작점에서 끝점까지의 거리를 나타내는 양의 정수 dj (1 ≤ dj ≤ 100), 그 길을 지날 때 나오는 평균 속도를 나타내는 양의 정수 sj (1 ≤ sj ≤ 100000)의 네 수가 공백으로 구분되어 쓰여 있다.
채점에 쓰이는 모든 입력에서 가장 쉬운 코스의 평균 속도와의 오차가 0.01 이내인 값을 소수 첫째 자리에서 반올림한 결과는 같은 정수가 된다는 것이 보장된다. 또한 채점에 쓰이는 모든 입력에서 호텔 IOI에서 직접 나가는 리프트로 갈 수 있는 지점이 시작점이고 호텔 IOI가 끝점인 코스가 존재한다는 것이 보장된다.
출력
출력은 표준 출력으로 한다. 소수 첫째 자리를 반올림한 가장 쉬운 코스의 평균 속도를 정수로 출력하시오.