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

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

안전 거리

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

요약
직사각형 방 안에서 N개의 점 장애물을 피해 (0,0)에서 (X,Y)로 이동할 때, 장애물까지의 최소 거리를 최대화하는 경로를 찾는다.
난이도

보통10점 중 7점

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

문제

지난 한 해는 힘들었다. 바이러스가 사람들 사이에 퍼졌기 때문이다. 다행히도 Alice는 건강을 지키는 방법 중 하나가 다른 사람들과 안전한 거리를 유지하는 것이라는 사실을 알고 있다.

Alice는 현재 가로 XX, 세로 YY인 닫힌 방 안에 있다. 방 안에는 다른 사람 NN명이 있고, 그들의 좌표 (xi,yi)(x_i, y_i)가 주어진다.

Alice와 NN명의 사람을 2D2D 평면 위의 점으로 생각한다. Alice의 처음 위치는 (0,0)(0, 0)이고, 그녀는 출구인 (X,Y)(X, Y)로 이동하려고 한다. 그녀는 방 안에서 어느 방향으로든 자유롭게 움직일 수 있지만, 방의 경계를 벗어날 수는 없다.

(0,0)(0, 0)에서 (X,Y)(X, Y)로 이동하는 동안 Alice가 다른 사람들로부터 유지할 수 있는 최대 거리를 구하여라.

입력

첫 번째 줄에는 방의 가로 XX와 세로 YY를 나타내는 두 정수가 공백으로 구분되어 주어진다. 두 번째 줄에는 방 안에 있는 사람 수 NN이 주어진다. 그다음 NN개의 줄에 걸쳐 각 줄에 방 안의 ii번째 사람의 좌표 xix_i, yiy_i가 두 실수로 주어진다.

출력

최대 안전 거리 dd를 실수 하나로 출력한다.

덧셈 또는 곱셈 오차 10−510^{-5}까지 허용된다. 즉 dd가 정답일 때, [d−10−5;d+10−5][d - 10^{-5}; d + 10^{-5}] 안에 있거나 [(1−10−5)d;(1+10−5)d][(1 - 10^{-5})d ;(1 + 10^{-5})d] 안에 있는 수는 모두 정답으로 인정된다.

제한

  • 1≤X,Y≤1 000 0001 \le X, Y \le 1\,000\,000
  • 1≤N≤1 0001 \le N \le 1\,000
  • 0≤xi≤X0 \le x_i \le X
  • 0≤yi≤Y0 \le y_i \le Y

예제1

  1. 예제 1

    입력
    8 6
    3
    3 1
    3 5.5
    6.5 1.5
    
    예상 출력
    2.250000