만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

운전병의 딜레마

면접 대비

시간 제한1초메모리 제한1024 MB

요약
1번 구역에서 N번 구역까지 T 안에 도착하면서 지나는 도로의 최대 불편도를 가장 낮게 만드는 값을 구합니다.
난이도

보통10점 중 6점

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

문제

원래 특별한 일정이 없던 간부님에게 갑자기 회의 일정이 잡혔다. 간부님의 운전병은 바로 지도를 펼쳐 회의실의 위치를 살폈다.

지도에는 NN개의 구역과 각 구역을 양방향으로 잇는 MM개의 도로가 그려져 있다. 각 도로에는 이동하는 데 걸리는 시간과 불편도가 적혀 있다. 운전병은 현재 11번 구역에 있고, 회의실은 NN번 구역에 있다.

회의까지 남은 시간은 TT이므로, 운전병은 반드시 시간 TT 안에 회의실에 도착해야 한다. 간부님은 차 안에서 서류 작업을 해야 하므로, 최대한 불편하지 않게 운전해야 한다. 회의실까지 걸리는 시간은 이용한 도로들의 시간의 합이고, 간부님이 느끼는 불편도는 이용한 도로들의 불편도 중 최댓값이다.

운전병은 원하는 도로에서, 걸리는 시간을 xx만큼 늘리는 대신 불편도를 xx만큼 낮출 수 있다. 단, x>0x>0이며 불편도는 00 미만으로 내릴 수 없다. 불편도를 낮추려고 너무 천천히 달리면 시간 안에 도착하지 못할 수 있고, 정속으로 달리면 불편도가 높은 채로 남는다.

시간 TT 안에 회의실에 도착할 때 간부님이 느끼는 불편도의 최솟값을 구하라.

입력

첫 번째 줄에 구역 개수 NN, 도로 개수 MM, 도착해야 하는 시간 TT가 공백으로 구분되어 주어진다. (2≤N≤50 0002\leq N\leq 50\,000, 1≤M≤100 0001\leq M\leq 100\,000, 1≤T≤1091\leq T\leq 10^9)

두 번째 줄부터 M+1M+1번째 줄까지, ii번째 도로가 연결하는 두 구역의 번호 uiu_i, viv_i와 이동하는 데 걸리는 시간 tit_i, 불편도 sis_i가 공백으로 구분되어 주어진다. (1≤ui,vi≤N1\leq u_i, v_i\leq N, ui≠viu_i\neq v_i, 1≤ti≤1091\leq t_i\leq 10^9, 0≤si≤1090\leq s_i\leq 10^9)

출력

시간 TT 안에 회의실에 도착할 때 간부님이 느끼는 최소 불편도를 출력한다.

어떻게 해도 시간 TT 안에 회의실에 도착할 수 없다면 −1-1을 출력한다.

예제2

  1. 예제 1

    입력
    4 4 6
    1 2 3 4
    1 3 4 3
    3 4 1 2
    2 3 2 1
    
    예상 출력
    2
    
  2. 예제 2

    입력
    4 4 6
    1 2 3 4
    1 3 4 3
    3 4 3 2
    2 3 2 1
    
    예상 출력
    -1