양궁 대회

지면에 접하는 원들을 동적으로 삽입하고, 화살이 명중한 원을 찾아 제거하며, 각 화살이 맞힌 원의 번호를 출력한다.

어려움8기하이분 탐색정렬구현아직 제출이 없습니다시간 제한3초메모리 제한512 MB

문제

해마다 열리는 양궁 대회에 초대받았다. 북유라시아 전역에서 모인 최고의 궁수들과 겨루게 된다. 올해는 사대가 계속 변하는 새로운 방식이 도입되어, 새 과녁이 언제든지 나타난다.

사대는 충분히 멀리 떨어져 있어서 y=0y = 0이 지면인 2차원 평면으로 나타낼 수 있다. 과녁은 원 모양이고 모두 지면 위에 서 있다. 즉 과녁의 중심이 (x,y)(x, y)이면 (y>0y > 0) 반지름이 yy와 같아서 직선 y=0y = 0에 접한다. 같은 시각에 사대에 놓여 있는 두 과녁은 내부가 겹치지 않는다. 경계에서 접할 수는 있다.

처음에 사대는 비어 있다. 대회에서 당신이 하는 일은 nn개의 사건으로 기술된다. 각 사건은 사대에 새 과녁이 나타나는 사건이거나, 사대의 한 점으로 화살을 쏘는 사건이다. 과녁을 맞히려면 원의 내부를 엄밀하게 맞혀야 한다. 경계를 맞히면 명중이 아니다. 화살이 어떤 과녁을 맞히면 그 과녁은 사대에서 사라지고 1점을 얻는다.

입력

첫째 줄에 정수 nn이 주어진다 (1n2×1051 \le n \le 2 \times 10^5). 다음 nn개 줄에 대회에서 일어나는 사건이 일어난 순서대로 주어진다. ii번째 줄에는 정수 tit_i, xix_i, yiy_i가 주어진다 (ti=1t_i = 1 또는 ti=2t_i = 2, 109xi,yi109-10^9 \le x_i, y_i \le 10^9, yi>0y_i > 0).

  • ti=1t_i = 1이면 중심이 (xi,yi)(x_i, y_i)이고 반지름이 yiy_i인 새 과녁이 사대에 나타난다.
  • ti=2t_i = 2이면 화살을 쏘고, 화살은 사대의 점 (xi,yi)(x_i, y_i)에 맞는다.

출력

화살을 쏜 사건마다 한 줄에 정수를 하나씩 출력한다. 어떤 과녁도 맞히지 못했으면 -1을 출력한다. 과녁을 맞혔으면 그 과녁이 사대에 나타난 사건의 번호를 출력한다. 사건의 번호는 1부터 시작한다.

힌트

그림은 예제의 처음 여섯 사건이 끝난 뒤 사대의 상태다. 가장 오른쪽 과녁은 마지막 화살에 맞아 곧 사라진다.