보로노이 마을

면접 대비

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

요약
직선 위에 놓인 N개 마을 위치가 주어질 때, 유한한 보로노이 구역 크기 중 가장 작은 값을 소수점 한 자리로 출력한다.
난이도

보통10점 중 4점

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

문제

보로노이 나라에는 일직선 도로 위 서로 다른 지점에 N개의 마을이 있다. 각 마을은 이 도로 위의 정수 위치로 나타낸다.

각 마을은 도로 위의 모든 점 중 다른 어떤 마을보다 자기 자신에 더 가까운 점 전체를 자기 영역으로 정한다. 서로 다른 두 마을 A와 B에 똑같이 가까운 점은 A의 영역에도 속하고 B의 영역에도 속한다.

각 영역의 크기는 그 영역에 속하는 가장 왼쪽 점과 가장 오른쪽 점의 차이다.

가장 왼쪽 마을과 가장 오른쪽 마을의 영역 크기는 무한으로 정하고, 나머지 모든 영역의 크기는 유한하다.

영역 크기 중 가장 작은 값을 소수점 아래 한 자리까지 구하시오.

입력

첫째 줄에는 마을의 수 N (3 ≤ N ≤ 100)이 주어진다. 다음 N개의 줄에는 한 줄에 정수 하나씩 주어지며, i번째 줄에는 i번째 마을의 위치 Vi (−1 000 000 000 ≤ Vi ≤ 1 000 000 000)가 주어진다. 모든 마을의 위치는 서로 다르다.

출력

영역 크기 중 가장 작은 값을 소수점 아래 한 자리까지 출력한다.

예제1

  1. 예제 1

    입력
    5
    16
    0
    10
    4
    15
    
    예상 출력
    3.0