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

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

무역선

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

요약
직사각형 아래변 y=0에서 위변 y=H로 가는 경로 중 주어진 N개 지점까지의 최소 거리를 최대로 하는 경로의 거리를 구한다.
난이도

어려움10점 중 8점

유형
이분 탐색, 그래프, 유니온 파인드, 기하
정답자
아직 제출이 없습니다

문제

배가 해적이 자주 배를 털어가는 것으로 악명 높은 해협을 지나려고 한다. 해양 경찰은 여러 번 해적을 몰아내려 했지만, 해적이 상당히 강해서 번번이 실패했다. 그래서 이 해협을 지나는 모든 배는 스스로 해적으로부터 자신을 지켜야 한다.

항해사는 해적의 은신처 위치가 모두 표시된 해도를 입수했다. 해협은 xy 평면에서 두 대각 꼭짓점의 좌표가 (0, 0)과 (W, H)인 W × H 직사각형으로 본다. 배는 해협에 y = 0과 y = H 위의 임의의 점에서 각각 들어오고 나간다.

습격 위험을 최소화하려고 항해사는 은신처에서 최대한 멀리 떨어진 항로를 택하기로 했다. 뛰어난 프로그래머인 당신은 항해사로부터 가장 좋은 항로, 즉 가장 가까운 은신처까지의 거리가 최대가 되는 항로를 찾는 프로그램을 작성해 달라는 부탁을 받았다. 이 문제에서는 간단히 그 거리만 출력하면 된다.

입력

첫째 줄에 세 정수 W, H, N이 주어진다. N은 해협에 있는 은신처의 수이다. 다음 N개 줄에는 정수 xi, yi가 주어지며, 이는 i번째 은신처의 좌표이다.

입력은 다음 조건을 만족한다. 1 ≤ W, H ≤ 109, 1 ≤ N ≤ 500, 0 ≤ xi ≤ W, 0 ≤ yi ≤ H.

출력

가장 좋은 항로에서 가장 가까운 은신처까지의 거리를 한 줄에 출력한다. 거리는 소수로 출력하며, 절대 오차가 10-3 이하여야 한다.

예제3

  1. 예제 1

    입력
    10 10 1
    3 5
    
    예상 출력
    7.000
    
  2. 예제 2

    입력
    10 10 2
    2 2
    8 8
    
    예상 출력
    4.243
    
  3. 예제 3

    입력
    10 10 3
    0 1
    4 4
    8 1
    
    예상 출력
    2.500