B - Dangerous Drive
問題文
筑波大学を通って東西に無限に続く道路があり、道路の各点は $x$ 座標で表されます。$x=a$ の点は筑波大学から $a$ $\text{km}$ 東に進んだ点($a<0$ の場合は $|a|$ $\text{km}$ 西に進んだ点)であることを意味します。また、この道路の制限速度は $X\ \text{km/h}$ です。
この道路上に $N$ 台の車が走っており、いま $i$ 台目の車は $x=A_i$ の地点を $S_i$ $\text{km/h}$ で東向きに走っています。
これらの車が速度を変えずに走り続けたとき、$10^{10^{100}}$ 時間後までに衝突している車が存在するか判定し、存在する場合は Dangerous
と出力してください。
そうでないとき、制限速度を超えている車がある場合は Over
と出力してください。
衝突せず、制限速度を超えている車も存在しない場合は Safe
と出力してください。
制約
すべてのテストケースについて、以下の制約を満たす。
- $1 \leq N \leq 2 \times 10^5$
- $|A_i| \leq 10^9$ $(1 \leq i \leq N)$
- $1 \leq S_i \leq 10^9$ $(1 \leq i \leq N)$
- $A_i \neq A_j$ $(i \neq j)$
- $1 \leq X \leq 10^9$
- 入力はすべて整数
部分点
この問題には、部分点が設定されている。以下の条件を満たすテストケースにすべて正解したとき、記載された点数が与えられる。
- ($5$ 点) $A_1 < A_2 < \cdots < A_N,\quad S_1 < S_2 < \cdots < S_N$
- ($10$ 点) $1 \leq N \leq 2000,\quad 0 \leq A_1 < A_2 < \cdots < A_N$
- ($20$ 点) $1 \leq N \leq 2000$
- ($40$ 点) $A_1 < A_2 < \cdots < A_N$
- ($125$ 点) 追加の制約はない。
入力
入力は以下の形式で標準入力から与えられる。
$N$ $X$
$A_1$ $S_1$
$A_2$ $S_2$
$\vdots$
$A_N$ $S_N$
出力
Dangerous
, Over
, Safe
のうち答えとなる文字列を 1 行に出力せよ。
5 5
0 3
5 3
10 3
11 5
12 5
Safe
車が衝突することはありません。また、どの車も制限速度以下で走行しています。したがって、 Safe
を出力します。
このテストケースは、部分点 2, 3, 4, 5 の条件を満たします。
5 5
0 1
5 3
10 3
11 2
12 5
Dangerous
西から数えて3台めの車が4台めの車に衝突します。したがって、 Dangerous
を出力します。
このテストケースは、部分点 2, 3, 4, 5 の条件を満たします。
5 5
0 1
5 2
10 3
11 4
12 6
Over
車は衝突しません。最も東の車が制限速度を超えているため、 Over
を出力します。
このテストケースは、部分点 1, 2, 3, 4, 5 の条件を満たします。