직각이등변삼각형

시간 제한2초메모리 제한2048 MB

요약
N개의 점이 주어질 때, 모든 점을 포함하면서 빗변이 x축에 평행한 직각이등변삼각형의 최소 빗변 길이를 구한다.
난이도

어려움10점 중 8점

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

문제

22차원 평면 위에 서로 다른 NN개의 점이 있다. 1≤i≤N1 ≤ i ≤ N인 각 ii에 대해, ii번째 점의 좌표는 (x_i,y_i)(x\_i , y\_i )이다.

이등변삼각형이란, 세 변 중 길이가 같은 두 변이 있는 삼각형을 의미한다. 직각삼각형이란, 한 내각이 직각(90∘90^\circ) 인 삼각형을 의미한다. 직각삼각형의 빗변이란, 직각삼각형에서 직각과 마주보는 변을 의미하며, 길이가 가장 긴 변이기도 하다.

직각이등변삼각형이란, 직각삼각형이면서 이등변삼각형인 삼각형을 의미한다. 즉, 삼각형의 한 내각이 직각이고, 빗변이 아닌 두 변의 길이가 서로 같은 삼각형을 의미한다.

다음 두 조건을 모두 만족하는 직각이등변삼각형 중 빗변의 길이가 가장 짧은 것의 빗변의 길이를 구하는 프로그램을 작성하라.

  • NN개의 점 (x_1,y_1),(x_2,y_2),⋯ ,(x_N,y_N)(x\_1 , y\_1 ),(x\_2 , y\_2 ), \cdots ,(x\_N , y\_N )은 모두 직각이등변삼각형의 경계(변 위)나 내부에 위치한다. 어떤 점이 직각이등변삼각형의 꼭짓점에 위치하는 경우도 경계에 위치한 것으로 간주한다.
  • 빗변이 xx축과 평행하다. 즉, 직각이등변삼각형의 빗변의 두 끝점의 yy좌표가 같다. 이는 다음 그림과 같이 직각이 빗변의 위쪽에 있는 직각이등변삼각형과 직각이 빗변의 아래쪽에 있는 두 종류의 직각이등변삼각형만 조건을 만족함을 의미한다.

예를 들어, 다음 그림과 같이 55개의 점 (0,−1),(2,4),(4,−1),(−1,2),(3,1)(0, −1), (2, 4), (4, −1), (−1, 2), (3, 1)이 주어졌다고 하자. 점은 크기를 갖지 않으나, 그림에서는 편의를 위해 점을 원으로 표현하였다.

직각이 빗변의 위쪽에 있는 직각이등변삼각형 중 빗변의 길이가 가장 짧은 것은 아래 그림과 같이 세 꼭짓점이 (1.5,4.5),(−4,−1),(7,−1)(1.5, 4.5),(−4, −1),(7, −1)인 삼각형이며, 이 직각이등변삼각형의 빗변의 길이는 1111이다.

직각이 빗변의 아래쪽에 있는 직각이등변삼각형 중 빗변의 길이가 가장 짧은 것은 아래 그림과 같이 세 꼭짓점이 (2,−3),(−5,4),(9,4)(2, −3),(−5, 4),(9, 4)인 삼각형이며, 이 직각이등변삼각형의 빗변의 길이는 1414이다.

두 직각이등변삼각형 중 빗변의 길이가 짧은 것은 직각이 빗변의 위쪽에 있는 경우이므로 1111이 구하고자 하는 길이가 된다.

입력

첫 번째 줄에 정수 NN이 주어진다.

다음 NN개의 줄 중 ii (1≤i≤N1 ≤ i ≤ N)번째 줄에는 두 정수 x_ix\_i 와 y_iy\_i가 공백을 사이에 두고 주어진다.

출력

첫 번째 줄에 조건을 모두 만족하는 직각이등변삼각형 중 빗변의 길이가 가장 짧은 것의 빗변의 길이를 출력한다. 답이 항상 정수임을 증명할 수 있다.

제한

  • 주어지는 모든 수는 정수이다.
  • 2≤N≤100,0002 ≤ N ≤ 100\\, 000
  • 1≤i≤N1 ≤ i ≤ N인 각 ii에 대해, −100,000,000≤x_i,y_i≤100,000,000−100\\, 000\\, 000 ≤ x\_i , y\_i ≤ 100\\, 000\\, 000
  • 주어지는 NN개의 점들은 모두 서로 다르다.
  • 즉, 1≤i<j≤N1 ≤ i < j ≤ N인 모든 ii, jj에 대해 x_i≠x_jx\_i \ne x\_j 또는 y_i≠y_jy\_i \ne y\_j이다.

예제3

  1. 예제 1

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

    입력
    2
    0 0
    5 2
    
    예상 출력
    7
    
  3. 예제 3

    입력
    4
    1 5
    3 2
    6 6
    7 4
    
    예상 출력
    10