#3197. Train

0

Train

Train

题目描述

在 AtCoder 共和国,有 NN 个城市,编号为 11 到 NN,以及 MM 条铁路,编号为 11 到 MM。 铁路 ii 双向连接城市 AiA_i 和城市 BiB_i。在时间 00、KiK_i 以及之后所有 KiK_i 的倍数时刻,会有一列火车从这两个城市出发并前往另一个城市。这些列车到达目的地所需的时间为 TiT_i。 你现在在城市 XX。当你从城市 XX 乘坐一列不早于时间 00 出发的火车开始旅程时,求到达城市 YY 的最早时间。如果城市 YY 无法到达,则报告该情况。
换乘时间可以忽略。也就是说,在每个城市,你可以在列车到达该城市的精确时刻转乘出发于该时刻的列车。

输入格式

输入由标准输入给出,格式如下: NN MM XX YY A1A_1 B1B_1 T1T_1 K1K_1 ⋮\vdots AMA_M BMB_M TMT_M KMK_M

输出格式

输出到达城市 YY 的最早可能时间。如果城市 YY 无法到达,输出 −1-1。

3 2 1 3
1 2 2 3
2 3 3 4
7
3 2 3 1
1 2 2 3
2 3 3 4
5
3 0 3 1
-1
9 14 6 7
3 1 4 1
5 9 2 6
5 3 5 8
9 7 9 3
2 3 8 4
6 2 6 4
3 8 3 2
7 9 5 2
8 4 1 9
7 1 6 9
3 9 9 3
7 5 1 5
8 2 9 7
4 9 4 4
26

提示

2≤N≤1052 \leq N \leq 10^5 0≤M≤1050 \leq M \leq 10^5 1≤X,Y≤N1 \leq X,Y \leq N X≠YX \neq Y 1≤Ai,Bi≤N1 \leq A_i,B_i \leq N Ai≠BiA_i \neq B_i 1≤Ti≤1091 \leq T_i \leq 10^9 1≤Ki≤1091 \leq K_i \leq 10^9 输入中的所有数值都是整数。首先,你在时间 00 乘坐铁路 11 从城市 11 到城市 22。你在时间 22 抵达城市 22。 然后,你在时间 44 乘坐铁路 22 从城市 22 到城市 33。你在时间 77 抵达城市 33。 无法更早到达城市 33。
首先,你在时间 00 乘坐铁路 22 从城市 33 到城市 22。你在时间 33 抵达城市 22。 然后,你在时间 33 乘坐铁路 11 从城市 22 到城市 11。你在时间 55 抵达城市 11。

标签: AtCoder|abc192E

来源

AtCoder|abc192E