페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#1368

가장 가까운 두지점, 최근접 쌍(closest pair) 1초 128MB

문제

별로 좋지 못한 전화 회사가 있는데, 이 회사에서 초고속 인터넷을 제공한다는 광고를 하려고 한다. 

일단 지금은 두 지점을 직접 연결하는 초고속 인터넷 전용선만 설치하고 그 속도를 측정해서 광고를 내려고 한다. 

전용선을 설치하는 데 드는 비용은 두 지점 사이의 거리에 비례하여 증가하므로, 

비용을 절약하기 위해 가장 가까운 두 지점을 찾아내야 한다.

조금 더 정확하게 설명하자면, 한 평면 위에 여러 개의 점이 주어졌을 때, 

가장 거리가 짧은 두 지점을 찾아내야 하는데, 그 거리는 어떤 제한 거리보다 짧아야 한다. 

 

가장 가까운 두 지점의 거리가 특정 거리 이상이면 설치비용이 많이 들기 때문에 다른 홍보 방법을 찾아보려고 한다.


입력

입력의 첫째 줄에는 점의 개수를 나타내는 정수 N(0≤N≤100,000)이 입력된다. 

그 밑으로 N줄에 걸쳐서 N개의 2차원 위치를 나타내는 좌표들이 입력되다. 

두 수는 각각 x좌표와 y좌표를 나타낸다. 

모든 좌표의 값은 0 이상 1,000,000 이하다.


출력

가장 가까운 거리가 10,000 미만이라면 그 거리를 소수 5자리에서 반올림하여 4자리까지 출력한다.

그렇지 않다면 "INFINITY"를 출력한다.


예제1

입력
3

00
1000010000
2000020000
출력
INFINITY

예제2

입력
5

02
667
4371
39107
189140
출력
36.2215

출처

uva 10245

역링크