만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

스프링클러

면접 대비

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

요약
고정된 두 sprink러가 모든 꽃을 덮도록 반지름을 정할 때 반지름 제곱 합의 최솟값을 구해 정수로 출력한다.
난이도

보통10점 중 5점

유형
정렬, 그리디, 기하, 완전 탐색
정답자
아직 제출이 없습니다

문제

영선이는 마당에서 꽃을 키운다. 꽃을 최대한 자연스럽게 키우고 싶어서 잡초처럼 여기저기에 심었는데, 너무 흩어지게 심는 바람에 물을 주기가 힘들어졌다.

그래서 영선이는 스프링클러 2개를 사서 설치했다. 첫 번째 스프링클러는 반지름이 r1r_1인 원 영역에, 두 번째 스프링클러는 반지름이 r2r_2인 원 영역에 물을 뿌린다. 영선이는 두 반지름을 조절해서 모든 꽃에 물을 주려고 한다. 각 꽃은 두 스프링클러 중 한 곳에서라도 물을 받으면 된다.

좌표가 (p,q)(p, q)인 꽃이 좌표가 (s,t)(s, t)이고 반지름이 rr인 스프링클러에서 물을 받으려면 (p−s)2+(q−t)2≤r\sqrt{(p-s)^2+(q-t)^2} \le r이어야 한다.

물이 뿌려지는 넓이는 (r12+r22)π(r_1^2+r_2^2)\pi이고, 영선이는 물을 아끼려고 이 값을 최소로 만들고 싶다. 계산 편의상 π\pi는 무시한다. 모든 꽃이 물을 받도록 할 때 r12+r22r_1^2+r_2^2의 최솟값을 구하시오.

입력

첫째 줄에 꽃의 개수 nn과 두 스프링클러의 좌표 x1x_1, y1y_1, x2x_2, y2y_2가 주어진다. 첫 번째 스프링클러는 (x1,y1)(x_1, y_1), 두 번째 스프링클러는 (x2,y2)(x_2, y_2)에 있다. (1≤n≤20001 \le n \le 2000, −106≤x1,y1,x2,y2≤106-10^6 \le x_1, y_1, x_2, y_2 \le 10^6)

다음 nn개의 줄에는 각 꽃의 좌표 xx, yy가 한 줄에 하나씩 주어진다. (−106≤x,y≤106-10^6 \le x, y \le 10^6)

꽃과 스프링클러의 좌표는 모두 서로 다르다.

출력

r12+r22r_1^2+r_2^2의 최솟값을 정수로 출력한다. 반지름은 00이 될 수도 있다.

예제1

  1. 예제 1

    입력
    4 0 0 5 0
    9 4
    8 3
    -1 0
    1 4
    
    예상 출력
    33