Draw A Perfect Circle

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

요약
N개의 점과 너비 K가 주어질 때, 원점으로부터의 거리가 폭 K인 어떤 고리 안에 들어가는 점의 최대 개수를 구해 N에 대한 백분율로 출력한다.
난이도

보통10점 중 7점

유형
정렬, 투 포인터, 기하
정답자
아직 제출이 없습니다

문제

동글이는 요즘 동그라미 챌린지를 연습 중입니다. 동그라미 챌린지란 팔을 컴퍼스처럼 휘둘러 칠판에 원을 그리는 놀이입니다.

하지만 동글이는 자신이 그린 그림이 얼마나 원에 가까운지 알기 힘들었고, 당신에게 정확도를 구하는 프로그램을 만들어줄 것을 요청했습니다.

동글이가 그린 그림은 NN개의 점으로 표현되며, 점을 포함하는 구간의 너비인 KK가 주어집니다.

정확도는 다음과 같은 기준으로 계산됩니다.

  • 임의의 반지름 RR에 대해, cnt(R)cnt(R)를 원점으로부터의 거리가 max⁡(0,R−K2)\max(0,R-\frac{K}{2}) 이상 R+K2R+\frac{K}{2} 이하인 점들의 개수로 정의합니다. (xx좌표의 차이가 pp이고 yy좌표의 차이가 qq인 두 점의 거리는 p2+q2\sqrt{p^2+q^2} 으로 정의합니다.)
  • 이때 정확도는 실수 RR에 대해서 100N×max⁡_R≥0cnt(R)\frac{100}{N}\times \max\limits\_{R \ge 0} cnt(R) 입니다.

동글이가 완벽한 원을 그릴 수 있도록 도와주세요!

입력

첫 번째 줄에 점의 개수 N(1≤N≤200,000)N(1\leq N \leq 200\\,000)과 너비 K(1≤K≤20,000)K(1\leq K \leq 20\\,000)가 공백으로 구분되어 주어집니다. N,KN, K는 모두 정수입니다.

두 번째 줄부터 NN개의 줄에 걸쳐 ii번째 점의 좌표를 나타내는 두 정수 x_i,y_ix\_i, y\_i가 주어집니다. (−10,000≤x_i,y_i≤10,000)(-10\\,000≤x\_i, y\_i≤10\\,000)

모든 점의 위치는 서로 다름이 보장됩니다.

출력

동글이가 그린 그림의 정확도를 출력해주세요.

출력한 답과 정답의 절대/상대 오차가 10−610^{-6} 이하이면 정답으로 인정됩니다.

힌트

절대오차는 정답과 출력한 답의 차이, 상대오차는 절대오차를 정답으로 나눈 값을 의미합니다.

예제1

  1. 예제 1

    입력
    8 1
    4 3
    -5 0
    -3 3
    4 -1
    0 4
    5 2
    0 -2
    2 -4
    
    예상 출력
    75.000000