SOJ ONLINE JUDGE

문제 148

제외한 점을 뺀 최근접점

내 상태
미제출
난이도
148번 문제 난이도 보기
Platinum I
출제자
rlatjwls7882
시간 제한
6000 ms
메모리 제한
1024 MB
148번 문제 태그 보기
구현

평면 위에 $N$개의 점이 주어진다. 점의 번호는 $0$부터 $N-1$까지이며, 같은 좌표에 여러 점이 있을 수 있다.

각 질의에서는 기준점의 좌표 $(x,y)$와 제외할 점의 번호 $s$가 주어진다. 번호가 $s$인 점을 제외한 나머지 점 중 기준점과의 거리가 가장 가까운 점을 찾아보자. $s=-1$이면 아무 점도 제외하지 않는다.

거리는 유클리드 거리로 계산하며, 거리가 같으면 번호가 작은 점을 선택한다.

입력

첫 번째 줄에 정수 $N$과 질의의 수를 의미하는 정수 $Q$가 공백으로 구분되어 주어진다. $(0\le N\le200\,000; 1\le Q\le200\,000)$

두 번째 줄부터 $N$개의 줄에 걸쳐 번호 순서대로 각 점의 정수 좌표 $x$, $y$가 공백으로 구분되어 주어진다. $(\lvert x\rvert\le10^9; \lvert y\rvert\le10^9)$

그다음 줄부터 $Q$개의 줄에 걸쳐 정수 $x$, $y$, $s$가 공백으로 구분되어 주어진다. $(\lvert x\rvert\le10^9; \lvert y\rvert\le10^9; -1\le s<N)$

출력

각 질의에 대해 가장 가까운 점까지의 거리의 제곱과 그 점의 번호를 공백으로 구분하여 한 줄에 출력한다. 남은 점이 없으면 -1 -1을 출력한다.

예제 입력 1

4 4
-1 0
1 0
0 -1
0 1
0 0 -1
0 0 0
1 0 1
0 1 3

예제 출력 1

1 0
1 1
2 2
2 0

제출

편집기에서 나가려면 Esc를 누른 뒤 Tab 또는 Shift와 Tab을 누르세요.