Цунамі#6217

Цунамі

1 секунда
64 мегабайти
Дуже складна

Країну Картезія можна описати простою декартовою координатною площиною. Вісь є узбережжям. Позитивна півплощина — це суша, а негативна півплощина — це океан. На материку розташовано кілька великих міст, які можна описати координатами , де y > 0. Іноді в океані біля Картезії трапляються цунамі, які можуть затопити всю країну. Вода починає з y = 0 і просувається рівномірно в додатному напрямку .

Картезія розробляє систему попередження про цунамі. Вона складається з двох компонентів: одного метеорологічного центру, що здатен виявити цунамі заздалегідь, і кабелів, які з'єднують міста прямими лініями (жодного бездротового зв'язку!). Всі кабельні з'єднання можуть передавати попередження майже миттєво.

Місто вважається захищеним, якщо в ньому розташовано метеорологічний центр або якщо воно напряму з'єднане кабелем з іншим захищеним містом (тобто, якщо існує кабельний шлях до метеоцентру через інші міста).

Політика ускладнює задачу! Якщо місто отримує попередження від міста , а розташоване далі від узбережжя, ніж , лідери будуть невдоволені: «Ми ближче до океану, ніж місто , тому попередження мало пройти через нас!» Тому потрібно знайти рішення, де жодне місто не отримує попередження від міста, що далі від узбережжя. (Це означає, що метеорологічний центр має бути у місті, розташованому якнайближче до узбережжя.)

Маючи опис Картезії, знайдіть мінімальну загальну довжину кабелю, що потрібна для створення системи попередження, де всі міста захищені і кожне місто отримує попередження лише через міста, що не далі від узбережжя.

Вхідні дані

У вхідних даних кілька тестів. Кожен опис починається з цілого числа (1 \leq n \leq 1000) у окремому рядку — кількість міст. Далі у рядках записано пари цілих чисел та (-1000 \leq x \leq 1000, 0 < y \leq 1000), координати міст. Усі пари у тесті — унікальні. Ввід завершується рядком з одним .

Вихідні дані

Для кожного тесту виведіть одне дійсне число в окремому рядку — мінімальну довжину кабелю, потрібну для побудови системи попередження про цунамі. Виводьте відповідь з точністю до двох знаків після десяткової крапки. Не друкуйте зайвих пробілів та порожніх рядків між відповідями.

Приклади

Приклад 1

Loading
Loading