만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

낚이고 낚아라

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

요약
각 다각형에서 원점까지 가장 먼 꼭짓점의 제곱 거리를 구하고, 그중 K번째로 작은 값을 소수 둘째 자리까지 출력한다.
난이도

보통10점 중 4점

유형
기하, 정렬, 수학, 구현
정답자
아직 제출이 없습니다

문제

낚시를 사랑하는 주띵이는 평범한 낚시에 싫증을 느껴 동호회 사람들과 함께 작은 호수나 연못에서 즐기는 새로운 방식인 고인물 낚시를 제안했다. 낚시꾼은 육지의 한 자리에 고정되어 앉고, 긴 낚싯대를 이용해 주변 물가에 사는 물고기를 낚는다. 낚싯줄을 멀리 보낼수록 유리하므로 좋은 낚싯대일수록 멀리까지 닿는다.

낚싯줄이 닿는 최대 거리를 낚시 거리라고 하자. 낚시 거리를 RR이라 할 때, 중심이 주띵이의 자리 Z=(0,0)Z = (0, 0)이고 반지름이 RR인 원 안에 다각형 전체가 들어가는 낚시터를 유효 낚시터라고 한다. 다각형의 꼭짓점마다 원점으로부터의 거리 제곱 d=x2+y2d = x^2 + y^2을 구하면, 그중 최댓값이 R2R^2 이하일 때 정확히 유효 낚시터가 된다.

그림 1. N=6N = 6, K=5K = 5인 배치의 예시

주띵이는 예산이 한정되어 있으므로, 자기 자리에서 유효 낚시터를 최소 KK개 확보할 수 있는 선에서 낚싯대 업그레이드를 멈추려 한다. 위 그림의 예시에서는 낚시 거리가 1111 이상이면 유효 낚시터 다섯 개를 확보할 수 있으므로, 경제적인 선택은 그중 가장 작은 값인 1111이다.

각 낚시터의 다각형 외곽선 정보가 주어질 때, 유효 낚시터를 KK개 이상 확보하기 위한 최소의 낚시 거리를 구하자.

입력

첫째 줄에 낚시터의 수 NN과 확보해야 할 최소 유효 낚시터 수 KK가 공백으로 구분되어 주어진다. 1≤N,K≤1000001 \le N, K \le 100000이며 K≤NK \le N이다. 이어서 NN개의 낚시터 정보가 차례로 주어진다. 각 낚시터 정보는 두 줄로 구성된다.

  • 첫째 줄에는 다각형의 꼭짓점 수 PiP_i가 주어진다.
  • 둘째 줄에는 꼭짓점들의 좌표 xx, yy가 공백으로 구분되어 xx yy 순서로 주어진다. 모든 좌표는 정수이며, 첫 번째 점부터 시계 방향 또는 반시계 방향 순서로 주어진다.
  • 서로 다른 낚시터는 겹치지 않으며, 각 다각형은 넓이가 00보다 크고 스스로 교차하지 않는다.

출력

유효 낚시터를 최소 KK개 확보할 수 있는 최소 낚시 거리를 RR이라 할 때, R2R^2의 값을 출력한다. 소수점 셋째 자리에서 반올림하여 둘째 자리까지 출력한다.

힌트

세 번째 샘플은 문제 설명의 그림과 같은 배치이다.

예제3

  1. 예제 1

    입력
    1 1
    4
    1 1 1 2 2 2 2 1
    
    예상 출력
    8.00
    
  2. 예제 2

    입력
    3 2
    3
    1 1 4 1 2 3
    3
    -2 -1 -3 -2 1 -4
    3
    -2 1 -1 4 -1 0
    
    예상 출력
    17.00
    
  3. 예제 3

    입력
    6 5
    5
    -14 8 -11 7 -11 5 -13 4 -15 5
    4 
    -5 3 -7 1 -3 -6 -3 -1
    6
    0 2 3 4 6 2 6 0 4 -2 2 -3
    4
    -2 -4 0 -8 -3 -10 -6 -8
    4
    -4 8 -3 7 -5 6 -7 8
    6
    0 11 2 8 0 9 -2 6 -2 8 -1 9
    
    예상 출력
    121.00