AT_abc388_f [ABC388F] Dangerous Sugoroku
题目描述
有 $N$ 个格子排成一行,依次编号为 $1, 2, \ldots, N$。
给定 $M$ 个整数对 $(L_1, R_1), (L_2, R_2), \ldots, (L_M, R_M)$。
如果对于某个 $i$,格子 $j$ 满足 $L_i \leq j \leq R_i$,那么且仅当这种情况成立时,格子 $j$ 被定义为**坏格子**。
请判断是否可以通过以下操作从格子 $1$ 移动到格子 $N$:
- 当前所在格子为 $x$。选择一个整数 $i$,使得以下所有条件都成立,然后移动到格子 $x + i$:
- $A \leq i \leq B$
- $x + i \leq N$
- 格子 $x + i$ 不是坏格子
输入格式
输入以以下格式从标准输入给出。
> $N$ $M$ $A$ $B$ $L_1$ $R_1$ $L_2$ $R_2$ $\vdots$ $L_M$ $R_M$
输出格式
如果可以通过题目描述中的操作从格子 $1$ 移动到格子 $N$,输出 `Yes`,否则输出 `No`。
说明/提示
### 限制条件
- $2 \leq N \leq 10^{12}$
- $0 \leq M \leq 2 \times 10^4$
- $1 \leq A \leq B \leq 20$
- $1 < L_i \leq R_i < N\ (1 \leq i \leq M)$
- $R_i < L_{i+1}\ (1 \leq i \leq M-1)$
- 所有输入的值均为整数
### 样例解释 1
可以按 $1 \to 6 \to 9 \to 12 \to 16 \to 21 \to 24$ 这样的方式移动到格子 $N$。
由 ChatGPT 4.1 翻译