국경 분쟁
시간 제한1초메모리 제한128 MB
원래 꺾은선의 점 일부를 순서대로 이어 가장 짧게 만들되 모든 원래 점이 새 꺾은선에서 거리 D 안에 들도록 합니다.
문제
이르바니스탄과 직지케스탄은 국경을 맞댄 두 나라다. 두 나라는 국경 문제로 여러 차례 전쟁을 벌였고 수만 명이 목숨을 잃었다. 그런데도 어느 쪽도 상대가 주장하는 국경선을 받아들이지 않았다.
최근 두 나라를 이끌게 된 지도부는 국경 분쟁을 끝내자는 국제 연합의 제안을 받아들였다. 제안의 내용은 공정한 컴퓨터 프로그램이 계산한, 더 짧고 단순한 국경선을 새로 만들자는 것이다.
현재 국경선 는 서로 교차하지 않는 선분의 집합이고, 선분 하나는 국경점 두 개를 잇는다. 국경점을 차례로 이라 하자. 즉 는 인 모든 에 대해 와 을 잇는 선분으로만 이루어진다.
국제 연합은 점 로 이루어진 새 국경선 를 만들자고 제안한다. 이때 , 이어야 하고, 다음 두 조건을 지켜야 한다.
- 각 점 는 중 하나다. 이고 이면 당연히 이다.
- 각 점 와 사이의 거리는 주어진 값 보다 크지 않아야 한다. 와 사이의 거리는 에서 위의 가장 가까운 점까지의 거리다. 에서 그 가장 가까운 점까지 그은 선분은 항상 와 수직이다.

두 조건을 지키는 새 국경선 중에서 길이가 가장 짧은 것을 찾아 그 길이를 구하여라.
입력
입력은 테스트 케이스 여러 개로 이루어진다. 각 테스트 케이스의 첫 줄에는 점의 개수 ()과 정수 ()가 주어진다. 다음 개의 줄에는 점 의 좌표를 나타내는 두 정수 , ()가 주어진다. 좌표는 증가한다. 즉 모든 에 대해 이고 이다. 입력은 0으로 시작하는 줄로 끝난다.
출력
각 테스트 케이스마다 새 국경선의 가장 짧은 길이를 소수점 아래 둘째 자리까지 반올림해 한 줄에 출력한다. 소수점 아래 두 자리는 언제나 채워서 출력한다. 반올림 결과가 갈리는 경계에 놓이는 답은 입력 데이터에 없다.