100 atcoder#ABC128E. [ABC128E] Roadwork

[ABC128E] Roadwork

配点 : 500500

問題文

東西に無限に続く 11 本の大通りがあり、数直線とみなすことができます。

この大通り上で NN 回道路工事が行われます。 ii 番目の道路工事は時刻 Si0.5S_i - 0.5 から時刻 Ti0.5T_i - 0.5 まで座標 XiX_i を通行止めにします。

QQ 人の人が座標 00 に立っています。 ii 番目の人は時刻 DiD_i に座標 00 を出発し、速度 11 で正の方向へ歩き続けます。 歩いている途中で通行止めとなっている地点に到達した場合には、そこで歩くのをやめます。

QQ 人それぞれが進む距離を求めてください。

制約

  • 入力は全て整数
  • 1N,Q2×1051 \leq N, Q \leq 2 \times 10^5
  • 0Si<Ti1090 \leq S_i < T_i \leq 10^9
  • 1Xi1091 \leq X_i \leq 10^9
  • 0D1<D2<...<DQ1090 \leq D_1 < D_2 < ... < D_Q \leq 10^9
  • iji \neq j かつ Xi=XjX_i = X_j の時、区間 [Si,Ti)[S_i, T_i) と 区間 [Sj,Tj)[S_j, T_j) は重ならない

入力

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

NN QQ

S1S_1 T1T_1 X1X_1

::

SNS_N TNT_N XNX_N

D1D_1

::

DQD_Q

出力

QQ 行出力せよ。

ii 行目には ii 番目の人が進む距離を出力せよ。 ただし ii 番目の人が無限に歩き続ける場合は、代わりに 1-1 を出力せよ。

4 6
1 3 2
7 13 10
18 20 13
3 4 2
0
1
2
3
5
8
2
2
10
-1
13
-1

11 番目の人は時刻 00 に座標 00 を出発し、時刻 22 に座標 22 に到着した時点で、11 番目の道路工事による通行止めによって歩くのをやめます。

22 番目の人は時刻 11 に座標 00 を出発し、時刻 33 に座標 22 に到着します。この時、11 番目の道路工事は既に終了していますが、44 番目の道路工事が始まっているため、同様に座標 22 で歩くのをやめます。

44 番目および 66 番目の人は、歩いている最中に通行止めに出くわさないため、無限に歩き続けます。