EduBrick

K. Минимальная покрывающая окружность

1000 мс · 256 МБ · всё или ничего

Дан набор точек. Найдите окружность наименьшего радиуса, содержащую их все.

Задача выглядит как оптимизация в двух переменных, и её действительно можно решать поиском по центру - минимум максимума расстояний выпуклый. Но есть решение красивее и быстрее.

Формат ввода

В первой строке - число точек nn (1≤n≤1051 \le n \le 10^5).

В следующих nn строках - координаты точек, целые, по модулю не превосходящие 10410^4. Точки могут повторяться.

Формат вывода

Выведите три числа: координаты центра минимальной покрывающей окружности и её радиус, с точностью 10−610^{-6}.

Примеры

ввод
3
0 0
4 0
0 3
вывод
2 1.5 2.5
ввод
2
0 0
0 10
вывод
0 5 5
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.