케이블 연결
시간 제한2초메모리 제한512 MB
모든 점 (b,a)가 b/X + a/Y <= 1을 만족하도록 (X,0)과 (0,Y)를 잇는 선분을 놓고 sqrt(X^2+Y^2)의 최솟값을 구한다.
문제
서로 수직인 두 직선 도로 A와 B가 한 교차점에서 시작한다. 도로 A는 동쪽으로 뻗고, 도로 B는 북쪽으로 뻗는다.
두 도로는 이 지역에 건설 중인 대규모 산업 설비의 일부이고, 특수 고주파 케이블로 이어야 한다. 케이블을 교차점에 바로 놓을 수는 없다. 게다가 두 도로가 감싸는 구역의 모서리 쪽에 건물이 여러 채 서 있어서 케이블을 가로막는다.

케이블 회사의 분석가들은 협의와 기술적 제약 검토를 마친 뒤, 장애물로 정해지는 중요 지점의 집합을 만들었다. 그리고 케이블이 다음 세 조건을 모두 만족하도록 두 도로를 잇자고 제안했다.
- 케이블은 직선으로 놓는다.
- 케이블은 어떤 중요 지점과 두 도로가 만나는 모서리 사이를 지나지 않는다.
- 케이블의 길이는 가능한 한 짧다.
교차점을 원점에 두고, 도로 A를 축의 양의 방향, 도로 B를 축의 양의 방향에 놓자. 도로 A까지의 거리가 이고 도로 B까지의 거리가 인 중요 지점은 좌표 에 있다. 케이블은 도로 A 위의 점 과 도로 B 위의 점 를 잇는 선분이고, 이며 이다. 두 번째 조건은 모든 중요 지점 가 을 만족한다는 뜻이다.
케이블의 길이 의 최솟값을 구하라.
입력
입력은 여러 개의 테스트 케이스로 이루어지고, 파일 끝에서 끝난다.
각 테스트 케이스의 첫 줄에는 중요 지점의 개수 ()이 주어진다. 이어지는 개의 줄에는 중요 지점이 한 줄에 하나씩 주어진다. 각 줄에는 공백으로 구분한 두 정수 와 ()가 있다. 는 그 지점에서 도로 A까지의 거리이고, 는 도로 B까지의 거리이다. 두 거리의 단위는 미터이다.
도로의 길이와 구역의 크기에는 제한이 없다. 한 테스트 케이스 안에서 좌표쌍 는 모두 서로 다르다. 모든 테스트 케이스의 을 더한 값은 을 넘지 않는다.
출력
각 테스트 케이스마다 케이블의 최소 길이 을 미터 단위로 한 줄에 출력한다.
은 소수점 아래 넷째 자리에서 반올림해, 소수점 아래 셋째 자리까지 정확히 세 자리로 출력한다.