볼록 다각형 안의 두 원

시간 제한4초메모리 제한128 MB

요약
볼록 다각형 안에 겹치지 않게 넣을 수 있는 반지름 R인 두 원의 최대 R을 구한다.
난이도

어려움10점 중 9점

유형
기하, 이분 탐색, 분할 정복, 수학
정답자
아직 제출이 없습니다

문제

볼록 다각형이 NN개의 꼭짓점으로 주어진다. 이 다각형 내부에 반지름이 RR인 원 두 개를 서로 겹치지 않게(맞닿는 것은 허용) 완전히 넣을 수 있는 최대 반지름 RR을 구하여라.

입력

첫째 줄에 꼭짓점의 개수 NN이 주어진다. 이어지는 NN개의 줄에는 각각 두 정수 xix_i와 yiy_i가 공백으로 구분되어 주어지며, 이는 ii번째 꼭짓점의 좌표이다.

출력

최대 반지름 RR을 소수점 아래 셋째 자리까지 반올림하여 한 줄에 출력한다.

제한

  • 3≤N≤500003 \le N \le 50000
  • −107≤xi≤107-10^7 \le x_i \le 10^7
  • −107≤yi≤107-10^7 \le y_i \le 10^7
  • 꼭짓점은 반시계(수학적 양의) 방향 순서로 주어진다.

힌트

정사각형의 경우, 두 원의 중심을 한 대각선 위에 놓을 때 반지름이 최대가 된다. 이때 반지름은 정확히 다음과 같이 계산된다.

22 (1+2)≈0.293\dfrac{\sqrt{2}}{2\,(1 + \sqrt{2})} \approx 0.293

예제3

  1. 예제 1

    입력
    4
    0 0
    1 0
    1 1
    0 1
    
    예상 출력
    0.293
    
  2. 예제 2

    입력
    4
    0 0
    3 0
    3 1
    0 1
    
    예상 출력
    0.500
    
  3. 예제 3

    입력
    6
    0 0
    8 0
    8 6
    4 8
    2 8
    0 4
    
    예상 출력
    2.189