아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

고속도로 주유 계획

시간 제한2초메모리 제한256 MB

요약
용량이 정해진 탱크로 주유소마다 다른 가격을 보고 목적지까지 가장 싸게 가는 경로와 주유량을 정합니다.
난이도

보통10점 중 7점

유형
최단 경로, 그래프, 힙
정답자
아직 제출이 없습니다

문제

운송 회사가 도움을 청해 왔다. 트럭에 넣는 연료비는 이 회사의 가장 큰 지출 가운데 하나여서, 회사는 연료비를 최대한 줄이고 싶어 한다.

운행 거리가 길어서 운전기사는 보통 주유소 여러 곳에 들러 연료를 넣는다. 연료 가격은 주유소마다 다르다. 가격 차이가 워낙 커서 값싼 주유소에 들르려고 길을 돌아가는 편이 이득일 때도 있다. 가격은 날마다 바뀌지만 하루 동안은 그대로다.

회사는 매일 아침 그날 모든 주유소의 연료 가격을 알아낸다. 목적지마다 도로망에서 필요한 부분만 추린 단순 그래프도 있는데, 주요 교차로와 주유소만 정점으로 들어 있다. 각 도로를 지나는 데 드는 연료의 양도 밀리리터 단위까지 정확히 안다. 이 양은 어느 방향으로 가는지, 탱크에 연료가 얼마나 남았는지와 상관없다. 운전기사는 연료를 밀리리터 단위로 넣을 수 있다.

트럭이 주유소나 목적지에 닿는 바로 그 순간에 연료가 떨어져도 괜찮다. 연료 소모가 조금씩 달라지는 것에 대비한 예비 탱크가 있지만 그 연료는 쓰지 않기로 되어 있으므로, 없다고 생각한다.

연료 탱크의 용량에는 한계가 있다. 목적지까지 가는 경로와 주유 방법을 정해서 연료비를 가장 적게 쓰는 방법을 구하라.

입력

첫 줄에 테스트 케이스의 개수가 주어진다. 이 수는 양의 정수이고 100 이하다. 각 테스트 케이스는 다음과 같다.

  • 첫 줄에 정점의 수 nn, 도로의 수 mm, 주유소의 수 ss가 공백을 사이에 두고 주어진다. (2≤n≤10002 \le n \le 1000, 1≤m≤100001 \le m \le 10000, 1≤s≤1201 \le s \le 120)
  • 다음 줄에 연료 탱크의 용량 tt가 밀리리터 단위로 주어진다. (1≤t≤1000001 \le t \le 100000)
  • 다음 mm개의 줄에는 정수 aa, bb, ff가 공백을 사이에 두고 주어진다. 정점 aa와 정점 bb를 잇는 도로가 있고, 이 도로를 지나려면 연료 ff밀리리터가 든다. (1≤a,b≤n1 \le a, b \le n, a≠ba \ne b, 1≤f≤1000001 \le f \le 100000)
  • 다음 ss개의 줄에는 정수 xx와 pp가 공백을 사이에 두고 주어진다. 정점 xx에 주유소가 있고, 그곳에서 연료 1밀리리터의 가격은 pp다. (1≤x≤n1 \le x \le n, 1≤p≤1001 \le p \le 100)
  • 마지막 줄에는 회사가 있는 정점 cc와 목적지 정점 dd가 공백을 사이에 두고 주어진다. (1≤c,d≤n1 \le c, d \le n, c≠dc \ne d)

모든 도로는 양방향이다. 두 정점을 잇는 도로는 많아야 하나다. 회사 바로 옆에 주유소가 있으므로 정점 cc에는 항상 주유소가 있다. 트럭은 빈 탱크로 출발한다. 목적지에는 항상 도달할 수 있다.

출력

각 테스트 케이스마다 연료비로 써야 하는 최소 금액을 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    3
    3 3 2
    2000
    1 3 800
    1 2 500
    2 3 500
    1 70
    2 40
    1 3
    5 5 3
    1000
    1 2 800
    2 5 800
    1 3 400
    3 4 600
    4 5 600
    1 80
    2 90
    3 20
    1 5
    4 3 3
    1000
    1 2 200
    2 3 600
    3 4 300
    1 40
    2 70
    3 90
    2 4
    
    예상 출력
    55000
    134000
    61000
    
  2. 예제 2

    입력
    1
    2 1 1
    100
    1 2 100
    1 5
    1 2
    
    예상 출력
    500