평면 위의 점들의 수열을 플롯(plot) 이라고 부른다. 주어진 플롯 (P1,…,Pn) 을, 원래 플롯과 가장 비슷하면서도 점의 개수가 최대 m 개 (m≤n) 이하인 다른 플롯으로 바꾸려고 한다.
새 플롯은 다음과 같이 만든다. 수열 (P1,…,Pn) 을 s 개 (s≤m) 의 연속한 부분수열로 나눈다.
(Pk0+1,…,Pk1), (Pk1+1,…,Pk2), …, (Pks−1+1,…,Pks)
여기서 0=k0<k1<k2<⋯<ks=n 이다. 그런 다음 각 부분수열 (Pki−1+1,…,Pki) (i=1,…,s) 을 하나의 새로운 점 Qi 로 대체한다. 이때 점 Pki−1+1,…,Pki 각각이 점 Qi 로 축약(contract) 되었다고 말한다. 그 결과 점 Q1,…,Qs 로 이루어진 새 플롯이 만들어진다.
새로 만든 플롯이 원래 플롯과 얼마나 닮았는지는, 모든 점 P1,…,Pn 에서 자신이 축약된 점까지의 거리 중 최댓값으로 측정한다.
maxi=1,…,s(maxj=ki−1+1,…,kid(Pj,Qi))
여기서 d(Pj,Qi) 는 두 점 사이의 거리이며, 다음 공식으로 주어진다.
d((x1,y1),(x2,y2))=(x2−x1)2+(y2−y1)2

위 그림은 예시 플롯 (P1,…,P7) 과 새 플롯 (Q1,Q2) 를 나타낸다. 여기서 (P1,…,P4) 는 Q1 로, (P5,P6,P7) 은 Q2 로 축약되었다.
n 개의 점으로 이루어진 플롯이 주어질 때, 점의 개수가 최대 m 개 이하이면서 원래 플롯과의 닮음 척도(위에서 정의한 최대 축약 거리)가 최소가 되도록 플롯을 만들 수 있다. 연속한 부분수열로 나누는 방법은 자유롭게 정할 수 있다. 이때 가능한 최소 닮음 척도 d 를 구하여라.
첫째 줄에 두 정수 n 과 m 이 공백 하나로 구분되어 주어진다 (1≤m≤n≤100000). 이어지는 n 개의 줄 중 i 번째 줄에는 두 정수 xi 와 yi 가 공백 하나로 구분되어 주어지며 (−1000000≤xi,yi≤1000000), 이는 점 Pi 의 좌표 (xi,yi) 를 나타낸다.
첫째 줄에 실수 하나 d 를 출력한다. d 는 점의 개수가 m 개 이하가 되도록 만들 수 있는 모든 플롯에 대하여, 원래 플롯과의 닮음 척도(각 점에서 자신이 축약된 점까지 거리의 최댓값)의 최솟값이다. 소수점 아래 정확히 6 자리까지 반올림하여 출력한다.