QOJ.ac

QOJ

Limite de temps : 3 s Limite de mémoire : 256 MB Points totaux : 100

#12869. 门钥匙

Statistiques

有 $n$ 个传送门位于一条直线上。每个传送门有三个特征:$x_i$(传送门的坐标)、$l_i$ 和 $r_i$。传送门可以用来传送到直线上的不同点。也就是说,如果你站在点 $x_i$ 处,你可以使用该传送门瞬间传送到满足 $l_i \le |x_i - y| \le r_i$ 的任意点 $y$。你不允许在不使用传送门的情况下沿直线移动。最初,你位于点 $x_1$(第一个传送门的位置)。

此外,给定直线上的 $m$ 个目标点。对于每个目标点,求出从起点到达该点所需使用的最少传送门数量。

输入格式

第一行包含一个整数 $n$,表示传送门的数量 ($1 \le n \le 2 \cdot 10^5$)。

接下来的 $n$ 行,每行包含三个空格分隔的整数 $x_i, l_i, r_i$,表示第 $i$ 个传送门的特征 ($-10^9 \le x_i \le 10^9, 0 \le l_i \le r_i \le 10^9$)。

下一行包含一个整数 $m$,表示目标点的数量 ($1 \le m \le 2 \cdot 10^5$)。

最后一行包含 $m$ 个空格分隔的整数 $y_i$,表示目标点的坐标 ($-10^9 \le y_i \le 10^9$)。

注意:任意数量的传送门和目标点可以位于直线上的同一点。

输出格式

在第一行打印所有目标点的答案,以空格分隔,顺序与输入中给出的点顺序相同。目标点的答案是到达该点所需使用的最少传送门数量,如果通过传送门无法到达该目标点,则输出 $-1$。

样例

样例输入 1

1
1 2 3
4
1 2 3 4

样例输出 1

0 -1 1 1

样例输入 2

2
0 3 5
5 6 7
5
3 3 12 5 6

样例输出 2

1 1 2 1 -1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.