APIO '18 P2 - Circle Selection

View as PDF

Submit solution


Points: 40 (partial)
Time limit: 1.4s
Memory limit: 1G

Problem type

Given n circles c1,c2,,cn on a flat Cartesian plane. We attempt to do the following:

  1. Find the circle ci with the largest radius. If there are multiple candidates all having the same (largest) radius, choose the one with the smallest index. (i.e. minimize i).

  2. Remove ci and all the circles intersecting with ci. Two circles intersect if there exists a point included by both circles. A point is included by a circle if it is located in the circle or on the border of the circle.

  3. Repeat 1 and 2 until there is no circle left.

We say ci is eliminated by cj if cj is the chosen circle in the iteration where ci is removed. For each circle, find out the circle by which it is eliminated.

Input

The first line contains an integer n, denoting the number of circles (1n3105). Each of the next n lines contains three integers xi,yi,ri, representing the x-coordinate, the y-coordinate, and the radius of the circle ci (109xi,yi109,1ri109).

Output

Output n integers a1,a2,,an in the first line, where ai means that ci is eliminated by cai.

Scoring

Subtask 1 (points: 7)

n5000

Subtask 2 (points: 12)

n3105, yi=0 for all circles

Subtask 3 (points: 15)

n3105, every circle intersects with at most 1 other circle

Subtask 4 (points: 23)

n3105, all circles have the same radius

Subtask 5 (points: 30)

n105

Subtask 6 (points: 13)

n3105

Sample Input

Copy
11
9 9 2
13 2 1
11 8 2
3 3 2
3 12 1
12 14 1
9 8 5
2 8 2
5 2 1
14 4 2
14 14 1

Sample Output

Copy
7 2 7 4 5 6 7 7 4 7 6

Note

The picture in the statements illustrates the first example.


Comments

There are no comments at the moment.