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

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

비트코인 채굴장

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

요약
최대 백만 개의 정수 좌표 점이 주어질 때, 두 점 사이의 가장 큰 유클리드 거리의 제곱을 구해 출력합니다.
난이도

보통10점 중 7점

유형
기하, 수학
정답자
아직 제출이 없습니다

문제

비트코인 채굴은 전력을 매우 많이 쓴다. 어느 날 알리와 베티는 각자 채굴장을 하나씩 체라스 시내에 세우기로 했다. 두 사람은 체라스 시장인 시바를 찾아가 부지를 요청했다.

시바는 채굴장을 세울 수 있는 후보 자리가 표시된 격자 지도를 두 사람에게 보여 주었다. 채굴에 전력이 많이 들어가는 만큼, 시바는 동네에 전력 스파이크가 생기지 않도록 두 채굴장을 서로 최대한 멀리 떨어뜨리려고 한다.

후보 자리의 좌표가 모두 주어질 때, 두 자리 사이의 유클리드 거리(직선 거리) 중 가장 큰 값을 구하라. 후보 자리의 좌표는 항상 정수다.

실수를 다루면 작은 오차가 생기기 쉬우므로, 가장 먼 두 자리 사이의 유클리드 거리를 제곱한 값만 출력하면 된다. 두 점 (x1,y1)(x_1, y_1)과 (x2,y2)(x_2, y_2) 사이의 유클리드 거리의 제곱은 다음과 같이 정의한다.

(x1−x2)2+(y1−y2)2(x_1 - x_2)^2 + (y_1 - y_2)^2

입력

첫째 줄에 후보 자리의 개수 NN이 주어진다. (2≤N≤1062 \le N \le 10^6)

둘째 줄에 좌표의 절댓값이 가질 수 있는 최댓값 MM이 주어진다. (2≤M≤15002 \le M \le 1500) 즉 모든 후보 자리의 좌표 xx와 yy는 −M≤x≤M-M \le x \le M과 −M≤y≤M-M \le y \le M을 만족한다.

셋째 줄부터 NN개의 줄에 후보 자리의 좌표 XiX_i와 YiY_i가 한 줄에 두 정수로 주어진다. 같은 좌표가 여러 번 나올 수 있다.

출력

가장 먼 두 후보 자리 사이의 유클리드 거리의 제곱을 정수 하나로 출력한다.

예제7

  1. 예제 1

    입력
    2
    15
    -1 10
    10 1
    
    예상 출력
    202
    
  2. 예제 2

    입력
    3
    15
    1 10
    2 10
    10 10
    
    예상 출력
    81
    
  3. 예제 3

    입력
    4
    2
    0 0
    0 0
    0 0
    0 0
    
    예상 출력
    0
    
  4. 예제 4

    입력
    5
    1500
    -1500 -1500
    1500 1500
    1500 -1500
    -1500 1500
    0 0
    
    예상 출력
    18000000
    
  5. 예제 5

    입력
    4
    10
    -7 -10
    -7 3
    -7 10
    -7 -4
    
    예상 출력
    400
    
  6. 예제 6

    입력
    6
    10
    -10 0
    10 0
    -9 9
    9 -9
    0 0
    3 -2
    
    예상 출력
    648
    
  7. 예제 7

    입력
    8
    3
    -3 -3
    -3 -3
    2 2
    2 2
    -3 2
    2 -3
    0 1
    0 1
    
    예상 출력
    50