만드는 중입니다

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

천재적인 산책

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

요약
도시 s에서 출발해 주기적으로 비가 내리는 도로를 지나 도시 t에 도착하는 가장 이른 시각을 구합니다.
난이도

보통10점 중 7점

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

문제

Sam은 새로운 지역에서 도시 nn개를 발견했다. 이 도시들은 양방향 도로 mm개로 연결되어 있다. Sam은 도로를 따라서만 이동할 수 있다. Sam은 시간적 비를 맞지 않고 도시 ss에서 도시 tt로 가야 한다. 일기 예보에 따르면 ii번째 도로에는 모든 정수 kk에 대해 구간 [(ai+bi)⋅k+ai,(ai+bi)⋅(k+1)][(a_i + b_i) \cdot k + a_i, (a_i + b_i) \cdot (k + 1)] 동안 비가 내린다 (aia_i와 bib_i는 양수이다). Sam이 ii번째 도로를 지나려면 did_i의 시간이 걸리고, 이 시간 내내 그 도로에 비가 내리면 안 된다. 도시에서는 비를 피할 수 있으므로 Sam은 언제든 도시에 머물 수 있다. Sam은 비가 그치는 순간에 도시에서 도로로 나갈 수 있고, 비가 시작되는 순간에 도로에서 도시로 들어올 수 있다.

시각 0에 Sam은 도시 ss에 있다. Sam이 도시 tt에 있을 수 있는 가장 이른 시각을 구하라.

입력

첫 줄에 정수 네 개 nn, mm, ss, tt가 주어진다. 각각 도시의 수, 도로의 수, 출발 도시, 도착 도시이다 (1≤n≤1000001 \le n \le 100000; 0≤m≤2000000 \le m \le 200000; 1≤s,t≤n1 \le s, t \le n). 다음 mm개 줄에는 도로가 하나씩 주어진다. 각 줄에는 정수 다섯 개 uiu_i, viv_i, aia_i, bib_i, did_i가 있다 (1≤ui,vi≤n1 \le u_i, v_i \le n; 1≤ai,bi,di≤1091 \le a_i, b_i, d_i \le 10^9). 도로 ii는 도시 uiu_i와 viv_i를 잇는다.

출력

Sam이 도시 ss에서 도시 tt로 갈 수 없으면 −1-1을 출력한다. 그렇지 않으면 Sam이 도시 tt에 있을 수 있는 가장 이른 시각을 출력한다.

예제1

  1. 예제 1

    입력
    3 2 1 3
    1 2 3 4 1
    2 3 2 3 2
    
    예상 출력
    7