题目背景
本题不是交互题,请注意提交方式。
英文题面。
题目描述
IOI 王国的国民使用 Byou 作为时间单位。
IOI 王国中,一天被划分为 S Byou,其中第 x 个 Byou(0≤x<S) 被称为时刻 x。
IOI 王国中有 N 个城市(标号 0∼N−1)和 M 条双向道路(标号 0∼M−1),你可以通过道路从一个城市移动到另一个城市。第 i 条道路直接连接着城市 Ai 和 Bi,通过这条道路需要 Li Byou。每天,从时刻 Ci 开始要对第 i 条道路进行检查,直到这一天结束。
JOI 集团是 IOI 王国中的一个秘密组织,出于其保密性,JOI 集团的成员不应该在道路上受到检查,这意味着如果 JOI 王国的成员如果想要通过道路 i,那么他必须在时刻 Ci−Li 之前踏上这条路。
现在有 Q 名 JOI 集团的成员(标号 0∼Q−1),第 j 名成员在某一天的时刻 Tj 想要从城市 Uj 出发旅行去城市 Vj。成员可以在城市内停留任意长的时间。这名成员可能要花费多天才能到达城市 Vj。
现要求计算每个成员完成旅行所需要的最少时间。
输入格式
第一行四个正整数 N,M,S,Q。
接下来 M 行,第 i 行四个正整数表示 Ai−1,Bi−1,Li−1,Ci−1。
接下来 Q 行,第 i 行三个正整数表示 Ui−1,Vi−1,Ti−1。
输出格式
输出共 Q 行,第 i 行表示第 i 名成员旅行所需的最少时间。
提示
对于 100% 的数据,保证:
- 2≤N≤90。
- N−1≤M≤2N(N−1)。
- 2≤S≤1015。
- 1≤Q≤3×106。
- 0≤Ai,Bi≤N−1(0≤i≤M−1)。
- Ai=Bi(0≤i≤M−1)。
- ∀i,j∈[0,M−1],若 i=j,则有 (Ai,Bi)=(Aj,Bj),(Ai,Bi)=(Bj,Aj)。。
- 1≤Li≤Ci<S。
- 你可以从某个城市经过若干条道路到达任意另一个城市。
- 0≤Uj,Vj≤N−1(0≤J≤Q−1)。
- U−j=Vj。
- 0≤Tj<S。
此外,有 5% 的分数,满足 N≤40,Q≤1000。
另有 20% 的分数,满足 N≤40,Uj=0。
另有 10% 的分数,满足 N≤40。
另有 35% 的分数,满足 N≤60。
建议使用较快的 IO 方式。