#ATabc128e. [ABC128E] Roadwork

[ABC128E] Roadwork

AT_abc128_e [ABC128E] Roadwork

题目描述

有一条东西方向无限延伸的大道,可以看作是一条数轴。

在这条大道上将进行 NN 次道路施工。第 ii 次道路施工会在时刻 Si0.5S_i - 0.5 到时刻 Ti0.5T_i - 0.5 期间,使坐标 XiX_i 处禁止通行。

QQ 个人站在坐标 00 处。第 ii 个人会在时刻 DiD_i 从坐标 00 出发,以速度 11 向正方向一直行走。如果在行走过程中到达了正在禁止通行的坐标,则会在该处停止行走。

请计算每个人能够前进的距离。如果某个人可以无限行走下去,则输出 1-1

输入格式

输入通过标准输入按以下格式给出。

NN QQ
S1S_1 T1T_1 X1X_1
\vdots
SNS_N TNT_N XNX_N
D1D_1
\vdots
DQD_Q

输出格式

输出共 QQ 行。

ii 行输出第 ii 个人能够前进的距离。如果第 ii 个人可以无限行走,则输出 1-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

说明/提示

限制条件

  • 所有输入均为整数。
  • 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 < \cdots < D_Q \leq 10^9
  • iji \neq jXi=XjX_i = X_j,则区间 [Si,Ti)[S_i, T_i) 与区间 [Sj,Tj)[S_j, T_j) 不重叠。

样例解释 1

11 个人在时刻 00 从坐标 00 出发,在时刻 22 到达坐标 22 时,由于第 11 次道路施工导致该处禁止通行,因此停止行走。第 22 个人在时刻 11 从坐标 00 出发,在时刻 33 到达坐标 22。此时第 11 次道路施工已结束,但第 44 次道路施工已经开始,因此同样在坐标 22 停止行走。第 44 个人和第 66 个人在行走过程中不会遇到任何禁止通行的点,因此可以无限行走。

由 ChatGPT 4.1 翻译