최대 백만 개의 정수 좌표 점이 주어질 때, 두 점 사이의 가장 큰 유클리드 거리의 제곱을 구해 출력합니다.
보통7기하수학아직 제출이 없습니다시간 제한1초메모리 제한64 MB비트코인 채굴은 전력을 매우 많이 쓴다. 어느 날 알리와 베티는 각자 채굴장을 하나씩 체라스 시내에 세우기로 했다. 두 사람은 체라스 시장인 시바를 찾아가 부지를 요청했다.
시바는 채굴장을 세울 수 있는 후보 자리가 표시된 격자 지도를 두 사람에게 보여 주었다. 채굴에 전력이 많이 들어가는 만큼, 시바는 동네에 전력 스파이크가 생기지 않도록 두 채굴장을 서로 최대한 멀리 떨어뜨리려고 한다.
후보 자리의 좌표가 모두 주어질 때, 두 자리 사이의 유클리드 거리(직선 거리) 중 가장 큰 값을 구하라. 후보 자리의 좌표는 항상 정수다.
실수를 다루면 작은 오차가 생기기 쉬우므로, 가장 먼 두 자리 사이의 유클리드 거리를 제곱한 값만 출력하면 된다. 두 점 (x1,y1)과 (x2,y2) 사이의 유클리드 거리의 제곱은 다음과 같이 정의한다.
(x1−x2)2+(y1−y2)2
첫째 줄에 후보 자리의 개수 N이 주어진다. (2≤N≤106)
둘째 줄에 좌표의 절댓값이 가질 수 있는 최댓값 M이 주어진다. (2≤M≤1500) 즉 모든 후보 자리의 좌표 x와 y는 −M≤x≤M과 −M≤y≤M을 만족한다.
셋째 줄부터 N개의 줄에 후보 자리의 좌표 Xi와 Yi가 한 줄에 두 정수로 주어진다. 같은 좌표가 여러 번 나올 수 있다.
가장 먼 두 후보 자리 사이의 유클리드 거리의 제곱을 정수 하나로 출력한다.