atcoder#ARC089A. [ABC086C] Traveling

[ABC086C] Traveling

配点 : 300300

問題文

シカのAtCoDeerくんは二次元平面上で旅行をしようとしています。 AtCoDeerくんの旅行プランでは、時刻 00 に 点 (0,0)(0,0) を出発し、 11 以上 NN 以下の各 ii に対し、時刻 tit_i に 点 (xi,yi)(x_i,y_i) を訪れる予定です。

AtCoDeerくんが時刻 tt に 点 (x,y)(x,y) にいる時、 時刻 t+1t+1 には 点 (x+1,y)(x+1,y), (x1,y)(x-1,y), (x,y+1)(x,y+1), (x,y1)(x,y-1) のうちいずれかに存在することができます。 その場にとどまることは出来ないことに注意してください。 AtCoDeerくんの旅行プランが実行可能かどうか判定してください。

制約

  • 11 \leq NN \leq 10510^5
  • 00 \leq xix_i \leq 10510^5
  • 00 \leq yiy_i \leq 10510^5
  • 11 \leq tit_i \leq 10510^5
  • tit_i << ti+1t_{i+1} (11 \leq ii \leq N1N-1)
  • 入力は全て整数

入力

入力は以下の形式で標準入力から与えられる。

NN

t1t_1 x1x_1 y1y_1

t2t_2 x2x_2 y2y_2

::

tNt_N xNx_N yNy_N

出力

旅行プランが実行可能ならYesを、不可能ならNoを出力してください。

2
3 1 2
6 1 1
Yes

例えば、(0,0)(0,0), (0,1)(0,1), (1,1)(1,1), (1,2)(1,2), (1,1)(1,1), (1,0)(1,0), (1,1)(1,1) と移動すればよいです。

1
2 100 100
No

(0,0)(0,0) にいる状態から 22 秒後に (100,100)(100,100) にいるのは不可能です。

2
5 1 1
100 1 1
No