### 2008 Canadian Computing Competition, Day 2

## Day 2, Problem 3: Landing

Keep watching the skies! Alien spacecraft are due to land any day now to share all of their advanced programming secrets with us.

In preparation for this day, you've been asked with preparing a landing pad for our visitors in a given field. Unfortunately, due to environmental considerations, you will not be permitted to remove any of the trees which currently exist on the field. These trees are of immense scientific research, since they have zero radius and only grow at points with integer co-ordinates. However, this could be a blessing in disguise. For security reasons, the landing pad must be in contact with at least three trees. Security cameras will be placed at the tops of these trees.

Alien spacecraft are perfectly circular craft of various sizes, so the landing pad will also be circular. Since it would be polite to warn potential visitors ahead of time if their spacecraft is too large for our landing pad, you must now determine the size of largest circular region that we can place on the field which contacts at least three trees, but does not contain any trees within.

### Input

The first line of input consists of the number n of trees (3 ≤ n ≤ 100 000). the next n lines will each consist of a pair of integers x and y (-10000 ≤ x, y ≤ 10000), separated by a space, giving the co-ordinates of a tree. You may assume that no two trees are at the same co-ordinates.

### Output

Output the radius of the largest possible landing pad. If the correct answer is R, you should output number a such that

The above calculation is used to define an acceptable range or tolerance for the answer you find. You may also assume that r < 10^{9}. You may assume there exists at least one landing pad.

### Sample Input

4

1 1

1 -1

-1 -1

-1 1

### Sample Output

1.41421356

### Grading

You may assume that 25% of the test cases will have at most 50 trees. You may assume that 95% of the test cases will have at most 1000 trees. All test cases will have at most 100 000 trees. Your solution must use at most 512MB of memory and run in at most 5 seconds.

All Submissions

Best Solutions

**Point Value:** 50 (partial)

**Time Limit:** 1.00s

**Memory Limit:** 512M

**Added:** Apr 25, 2009

**Languages Allowed:**

C++03, PAS, C, HASK, ASM, RUBY, PYTH2, JAVA, PHP, SCM, CAML, PERL, C#, C++11, PYTH3

## Comments (Search)

DrSaneon Jan 15, 2009 - 4:30:33 am UTC ...hackeron Dec 12, 2014 - 5:50:28 pm UTC Re: ...gpfaulton Jan 20, 2017 - 6:34:40 am UTC Re: ...IMAGeniuson Nov 17, 2016 - 5:25:09 pm UTChackeron Dec 11, 2014 - 10:03:29 pm UTC Stupid Site, KMNHzhangon Dec 11, 2014 - 11:35:32 pm UTC Re: Stupid Site, KMNhackeron Dec 12, 2014 - 5:48:04 pm UTC Re: Stupid Site, KMNWho am I? A <HACKER>! Don't worry about me. It's all good as long as I know about you!

*/

getRecked = true;

while (getRecked):

self.Hack();

bbi5291on Dec 12, 2014 - 9:22:31 am UTC Re: Stupid Site, KMNhackeron Dec 12, 2014 - 5:49:26 pm UTC Re: Stupid Site, KMNjargonon Dec 13, 2014 - 4:29:37 pm UTC Re: Stupid Site, KMNhackeron Dec 14, 2014 - 1:30:20 am UTC Re: Stupid Site, KMNwhile (kill):

self.kill_jargon();

self.hack_wcipeg();

Jlsajfjon Jan 23, 2016 - 4:46:03 pm UTC Re: Stupid Site, KMN