eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Опукла оболонка

Опукла оболонка

На площині розташовано \textbf{n} точок. Побудувати опуклу оболонку заданої множини точок і вивести довжину її периметра. \InputFile Перший рядок містить кількість точок \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{20000}). Кожен з наступних \textbf{n} рядків містить два цілих числа - координати точки \textbf{x_i} та \textbf{y_i}, що за модулем не перевищують \textbf{10000}. \OutputFile Виведіть довжину периметра опуклої оболонки з максимально можливою точністю. Якщо у опуклій оболонці мыститься \textbf{2} точки, то потрібно вивести подвоєну довжину відрізка.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
5
0 0
1 0
0 1
-1 0
0 -1
Вихідні дані #1
5.656854