고속도로 통행료
- 시간 제한
- 4s
- 메모리 제한
- 1024MB
- 제출
- 0
- 정답
- 0
- 맞힌 사람
- 0
- 정답 비율
- 0.0%
문제
JOI 왕국은 개의 도시로 이루어진 왕국이며, 이 도시들에는 부터 까지의 번호가 붙어 있다. JOI 왕국에는 이 도시들을 잇는 일방통행 고속도로가 개 있고, 부터 까지의 번호가 붙어 있다. 고속도로 () 를 지나면 도시 에서 도시 로 이동할 수 있으며, 통행에 걸리는 시간은 이다.
각각의 고속도로를 지날 때마다 통행료가 발생한다. 고속도로 의 통행료는 가장 쌀 때 이지만, JOI 왕국의 노동자들은 모두 시간외 노동을 싫어하기 때문에 기준이 되는 시각 에서 멀어지면 멀어질수록 통행료가 늘어난다. 구체적으로, 도시 를 시각 에 출발하여 고속도로 를 통행한 경우, 통행료는 상수 를 사용하여 로 나타난다. 단, 는 의 절댓값을 나타낸다.
도시 에 사는 당신은 친구가 사는 도시 으로 나들이를 갈 계획을 세우고 있다. 당신은 고속도로를 통해 도시 에서 도시 까지 이동하고 싶으므로, 우선 그것이 가능한지 확인하고, 가능하다면 통행료의 총합이 최소 얼마가 되는지도 구하고 싶다. 단, 이동 경로나 각 도시를 출발하는 시점은 자유롭게 정할 수 있다. 특히, 도시 을 음의 시각에 출발하거나, 고속도로를 통행하지 않고 어떤 도시에 머무르는 시간이 있어도 된다.
고속도로의 정보와 상수 가 주어졌을 때, 고속도로를 통해 도시 에서 도시 까지 이동하는 것이 가능한지 판정하고, 가능한 경우에는 통행료 총합의 최솟값을 구하는 프로그램을 작성하시오.
또한, 이 문제의 제약 하에서는 고속도로를 통해 도시 에서 도시 까지 이동하는 것이 가능한 경우, 통행료 총합의 최솟값이 반드시 정수가 된다는 것을 증명할 수 있다.
제한
- .
- .
- .
- ().
- ().
- ().
- ().
- ().
- 입력되는 값은 모두 정수이다.
서브태스크
- ( 점) , , .
- ( 점) , , ().
- ( 점) , , , ().
- ( 점) , 이며, 다음 제약을 만족한다. 은 짝수, (). 여기서 는 이하의 최대 정수를 나타낸다.
- ( 점) , .
- ( 점) , .
- ( 점) 추가 제약이 없다.
입력
입력은 다음 형식으로 주어진다.
출력
고속도로를 통해 도시 에서 도시 까지 이동하는 것이 불가능한 경우에는 -1 을 출력한다. 가능한 경우에는 통행료 총합의 최솟값을 나타내는 정수를 줄로 출력한다.
예제 입력 1
4 4 2
1 2 3 2
1 3 1 10
2 3 1 4
3 4 5 3
예제 출력 1
15
JOI 왕국의 도시와 도로의 모습을 그림으로 나타내면 다음과 같다. 원은 도시를, 화살표는 도로를 나타내며, 각 도로의 옆에는 그 도로의 와 의 값이 이 순서대로 적혀 있다. 또한, 원 안에 적힌 숫자는 그 도시의 번호를 나타낸다.

다음과 같이 이동하면 통행료의 총합이 가 된다.
- 시각 : 도시 을 출발하여 도시 으로 향한다. 통행료가 만큼 든다.
- 시각 : 도시 에 도착하여 곧바로 도시 로 향한다. 통행료가 만큼 든다.
- 시각 : 도시 에 도착한다.
통행료의 총합이 보다 작아지는 이동 방법은 존재하지 않으므로, 를 출력한다.
이 예제는 서브태스크 의 제약을 만족한다.
예제 입력 2
4 4 0
1 2 3 2
1 3 1 10
2 3 1 4
3 4 5 3
예제 출력 2
9
예제 과는 의 값만이 다르다.
다음과 같이 이동하면 통행료의 총합이 가 된다.
- 시각 : 도시 을 출발하여 도시 로 향한다. 통행료가 만큼 든다.
- 시각 : 도시 에 도착하여 곧바로 도시 으로 향한다. 통행료가 만큼 든다.
- 시각 : 도시 에 도착하여 그대로 도시 에 머무른다.
- 시각 : 도시 을 출발하여 도시 로 향한다. 통행료가 만큼 든다.
- 시각 : 도시 에 도착한다.
통행료의 총합이 보다 작아지는 이동 방법은 존재하지 않으므로, 를 출력한다.
이 예제는 서브태스크 의 제약을 만족한다.
예제 입력 3
2 1 10
2 1 4 7
예제 출력 3
-1
고속도로를 통해 도시 에서 도시 까지 이동하는 것은 불가능하므로, -1 을 출력한다.
이 예제는 서브태스크 의 제약을 만족한다.
예제 입력 4
4 3 5
1 2 3 1
2 3 1 10
3 4 7 6
예제 출력 4
37
이 예제는 서브태스크 의 제약을 만족한다.
예제 입력 5
8 8 2
1 2 1 5
5 6 3 1
2 4 10 18
3 5 3 1
1 3 4 2
5 6 2 2
2 5 2 3
6 8 1 1
예제 출력 5
25
같은 쌍을 가지는 여러 개의 도로가 존재할 수도 있다.
이 예제는 서브태스크 의 제약을 만족한다.
예제 입력 6
6 10 100000
4 2 212037 752027141
2 5 667097 1571491
2 1 769275 576006950
1 2 711969 526189398
5 3 733555 206320177
3 4 364807 802102091
1 4 467240 183184247
3 5 44994 15991843
5 3 613192 782356546
4 6 832593 639529758
예제 출력 6
47546714005
이 예제는 서브태스크 의 제약을 만족한다.
코드를 제출하려면 로그인이 필요합니다.
로그인제출 내역이 없습니다.
아직 맞은 사람이 없습니다.
제출 내역이 없습니다.