#HT12871. 「RSOI-3B」信号传递

「RSOI-3B」信号传递

题目描述

有 nn 个节点。节点 ii 有两个权值 Ai,PiA_i,P_i,其中 AiA_i 为正整数,PiP_i 为非负整数。

从节点 uu 可以向另一个节点 vv(u≠vu \neq v)发送信号,当且仅当

Av mod Au≤Pu.A_v \bmod A_u \le P_u.

给定起点 SS 和终点 TT,求从 SS 到 TT 的最短路径长度,即最少经过的边数。若不可达,输出 −1-1。

SS 与 TT 允许相等;此时最短路径长度为 00。不同节点的 AiA_i 或 PiP_i 可以相同。

输入格式

第一行包含三个整数 n,S,Tn,S,T。

接下来 nn 行,第 ii 行包含两个整数 Ai,PiA_i,P_i。

输出格式

输出最短路径长度;若无法到达,输出 −1-1。

样例

6 1 4
3 0
9 1
19 2
38 0
6 0
18 0
3

样例解释

一条最短路径为 1→2→3→41 \to 2 \to 3 \to 4。

数据规模与约定

本题采用捆绑测试。对于所有数据:

$$1 \le n \le 10^6,\ 1 \le A_i \le 10^6,\ 0 \le P_i \le 10^6,\ 1 \le S,T \le n.$$
子任务 n≤n \le Ai≤A_i \le 特殊性质 分值 测试点数
1 30003000 500500 无 20 8
2 10510^5 15 6
3 10510^5 Pi=0P_i=0
4 Pi≤2P_i \le 2 10 4
5 无
6 10610^6 30 12

原题链接

原题链接