무역선
시간 제한8초메모리 제한512 MB
직사각형 아래변 y=0에서 위변 y=H로 가는 경로 중 주어진 N개 지점까지의 최소 거리를 최대로 하는 경로의 거리를 구한다.
문제
배가 해적이 자주 배를 털어가는 것으로 악명 높은 해협을 지나려고 한다. 해양 경찰은 여러 번 해적을 몰아내려 했지만, 해적이 상당히 강해서 번번이 실패했다. 그래서 이 해협을 지나는 모든 배는 스스로 해적으로부터 자신을 지켜야 한다.
항해사는 해적의 은신처 위치가 모두 표시된 해도를 입수했다. 해협은 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 이하여야 한다.