아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

가장 가까운 두 점 사이의 거리

시간 제한1초메모리 제한256 MB

요약
최대 500,000개의 서로 다른 점이 주어질 때 가장 가까운 두 점을 찾아 거리의 제곱을 출력한다.
난이도

보통10점 중 7점

유형
분할 정복, 정렬, 기하, 이분 탐색
정답자
아직 제출이 없습니다

문제

평면 위에 nn개의 점 P1,P2,…,PnP_1, P_2, \dots, P_n이 놓여 있다. 이 점들 중에서 서로의 거리가 가장 가까운 두 점을 찾고, 그 두 점 사이의 거리를 구하려고 한다.

입력

첫째 줄에 점의 개수 nn이 주어진다.

둘째 줄부터 n+1n+1째 줄까지 각 줄에 한 점의 좌표 xx와 yy가 공백을 사이에 두고 주어진다. i+1i+1째 줄에 주어지는 값은 점 PiP_i의 xx좌표와 yy좌표이다.

제한: 2≤n≤5000002 \le n \le 500000이고 −10000≤x,y≤10000-10000 \le x, y \le 10000이다. 또한 모든 점의 좌표는 서로 다르다(같은 좌표를 가지는 점은 없다).

출력

가장 가까운 두 점 사이의 거리의 제곱을 출력한다.

예제2

  1. 예제 1

    입력
    3
    5 5
    0 0
    -3 -4
    
    예상 출력
    25
    
  2. 예제 2

    입력
    2
    0 0
    1 1
    
    예상 출력
    2