A - Rhythm Game 解説 /

実行時間制限: 2 sec / メモリ制限: 1024 MiB

配点 : 900

問題文

音楽に合わせて数直線上を走り回る、次のようなゲームを考えます。

数直線上に N 個のボタンがあります。i 番目 (1 \leq i \leq N) のボタンは、ゲーム開始 T_i 秒後に座標 X_i に出現します。 また、どのボタンについても出現から D+0.5 秒後に消えます。

プレイヤーは、ゲーム開始時に座標 0 を出発し、N 個すべてのボタンを押すことができればゲームクリアとなります。ボタンは好きな順番で押して構いません。 しかし、本ゲームには特殊ルールがあり、ボタンを押してから次にボタンを押すまでの間に、毎回一度以上座標 0 に移動する必要があります。 それが守られない場合は失格となります。

AtCoder さんは、数直線上を秒速 1 で移動することができます。彼女がゲームクリアする方法は存在しますか。 ただし、ボタンを押すのにかかる時間は無視できるものとします。

\mathrm{TESTCASES} 個のテストケースについて解いてください。

制約

  • 1 \leq \mathrm{TESTCASES} \leq 100\,000
  • 1 \leq N \leq 5\,000
  • 0 \leq D \leq 10^{12}
  • 0 \leq T_1 \leq T_2 \leq \dots \leq T_N \leq 10^{12}
  • 1 \leq X_i \leq 10^{12}
  • すべてのテストケースに対する N の総和は 100\,000 以下である
  • すべてのテストケースに対する N^2 の総和は 2.5 \times 10^7 以下である
  • 入力される値はすべて整数

入力

入力は以下の形式で標準入力から与えられます。ここで、\mathrm{case}_kk 番目のテストケースを意味します。

\mathrm{TESTCASES}
\mathrm{case}_1
\mathrm{case}_2
 \vdots
\mathrm{case}_{\mathrm{TESTCASES}}

各テストケースは、以下の形式で与えられます。

N
D
T_1 X_1
T_2 X_2
 \vdots
T_N X_N

出力

\mathrm{TESTCASES} 行出力してください。k 行目には、k 番目のテストケースについて、ゲームクリアする方法が存在するならば Yes、存在しないならば No と出力してください。


入力例 1

4
2
10
30 20
50 10
2
9
30 20
50 10
4
185
0 40
0 30
0 20
0 10
5
1312372641
141421356 314159265
237309504 358979323
880168872 846264338
4209698078 327950288
5696718753 419716939

出力例 1

Yes
No
Yes
No

1 番目のテストケースでは、以下のように動くとゲームクリアとなります。そのため、1 行目に Yes と出力します。

開始からの時間 動作・出来事の説明
0 ゲームが開始する。
5 座標 0 から右方向に移動を開始する。
25 座標 20 に到着し、停止する。
30 1 番目のボタンが座標 20 に出現する。ただちにこのボタンを押し、左方向に移動を開始する。
50 座標 0 に到着する。移動方向を右方向に変える。ちょうどそのタイミングで、2 番目のボタンが座標 10 に出現する。
60 座標 10 に到着し、2 番目のボタンを押す。このボタンは開始 60.5 秒後に消えるので、間に合っている。

2 番目のテストケースについては、ゲームクリアする方法が存在しないので、2 行目に No と出力します。
3 番目のテストケースについては、ゲームクリアする方法が存在するので、3 行目に Yes と出力します。
4 番目のテストケースについては、ゲームクリアする方法が存在しないので、4 行目に No と出力します。

Score : 900 points

Problem Statement

Consider the following rhythm‑action game on the real line.

There are N buttons. The i‑th button (1 \le i \le N) appears at coordinate X_i exactly T_i seconds after the game starts. Each button disappears D + 0.5 seconds after it appears.

The player starts at coordinate 0 at time 0, and must press all N buttons to win the game. The buttons may be pressed in any order. However, after pressing a button and before pressing another, the player must visit coordinate 0 at least once. Violating this rule results in disqualification.

Ms. AtCoder can move at speed 1 on the line. Can she win the game? Pressing a button takes negligible time.

Solve \mathrm{TESTCASES} test cases.

Constraints

  • 1 \le \mathrm{TESTCASES} \le 100\,000
  • 1 \le N \le 5\,000
  • 0 \le D \le 10^{12}
  • 0 \le T_1 \le T_2 \le \dots \le T_N \le 10^{12}
  • 1 \le X_i \le 10^{12}
  • The sum of N over all test cases is at most 100\,000.
  • The sum of N^2 over all test cases is at most 2.5 \times 10^7.
  • All input values are integers.

Input

The input is given from Standard Input in the following format, where \mathrm{case}_k represents the k-th test case:

\mathrm{TESTCASES}
\mathrm{case}_1
\mathrm{case}_2
 \vdots
\mathrm{case}_{\mathrm{TESTCASES}}

Each test case is given in the following format:

N
D
T_1 X_1
T_2 X_2
 \vdots
T_N X_N

Output

Print \mathrm{TESTCASES} lines. The k-th line should contain Yes if the game is winnable for the k-th test case, and No otherwise.


Sample Input 1

4
2
10
30 20
50 10
2
9
30 20
50 10
4
185
0 40
0 30
0 20
0 10
5
1312372641
141421356 314159265
237309504 358979323
880168872 846264338
4209698078 327950288
5696718753 419716939

Sample Output 1

Yes
No
Yes
No

For the first test case, the game can be won as follows, so the first line contains Yes.

Elapsed timeAction / Event
0 secondsGame starts.
5 secondsStart moving right from coordinate 0.
25 secondsArrive at coordinate 20 and stop.
30 secondsButton 1 appears at coordinate 20. Press it immediately and head left.
50 secondsArrive at coordinate 0. Head right. Button 2 appears at coodinate 10.
60 secondsArrive at coordinate 10 and press button 2 (before it disappears at 60.5 seconds).

For the second test case, the game is unwinnable, so the second line contains No.
For the third test case, the game is winnable, so the third line contains Yes.
For the fourth test case, the game is unwinnable, so the fourth line contains No.