#P6952. [NEERC 2017] Archery Tournament

[NEERC 2017] Archery Tournament

Description

你被邀请参加一年一度的射箭比赛。你将与来自整个北欧亚的最佳射手竞争。今年引入了一种新的比赛类型,射击场是动态的,新的目标可能会在任何时候出现。

由于射击场离你足够远,可以表示为一个二维平面,其中 y=0y = 0 是地面。有一些目标是圆形的,所有的目标都站在地面上。这意味着,如果一个目标的中心是 (x,y)(y>0)(x, y) (y > 0),那么它的半径等于 yy,以便它接触到 y=0y = 0 的线。在任何给定时刻,射击场上没有两个目标同时存在相交(但它们可能接触)。

最初,射击场是空的。你在这次比赛中的参与可以描述为 nn 个事件:要么一个新目标出现在射击场上,要么你在射击场的某个点射出一箭。要击中目标,你必须严格射入圆内(击中边界不算)。如果你射中并击中某个目标,那么该目标将从射击场上移除,你将获得一分。

Input Format

输入的第一行包含整数 n(1n2105)n (1 \le n \le 2 \cdot 10^{5})。接下来的 nn 行描述了比赛中发生的事件。第 ii 行包含三个整数 ti,xi,t_{i}, x_{i},yi(ti=1,2y_{i} (t_{i} = 1 , 2109xi,yi109-10^{9} \le x_{i}, y_{i} \le 10^{9}yi>0)y_{i} > 0)

如果 ti=1t_{i} = 1,则一个中心为 (xi,yi)(x_{i}, y_{i}),半径为 yiy_{i} 的新目标出现在射击场上。

如果 ti=2t_{i} = 2,则你进行一次射击,击中射击场的 (xi,yi)(x_{i}, y_{i})

Output Format

对于你的每次射击,输出一个单独的行,包含一个整数。如果射击没有击中任何目标,打印 -1。如果射击击中了一个目标,打印该目标被添加到射击场时的事件编号。事件编号从 11 开始。

8
1 0 12
2 -11 22
1 24 10
1 12 3
2 12 12
2 16 14
1 28 15
2 3 6

-1
-1
3
1

Hint

时间限制:3 秒,内存限制:512 MB。

题面翻译由 ChatGPT-4o 提供。