eolymp
bolt
Try our new interface for solving problems
Problems

Выпуклая оболочка

Выпуклая оболочка

На плоскости расположено \textbf{n} точек. Построить выпуклую оболочку для заданного множества точек и вывести длину её периметра. \InputFile Первая строка содержит количество точек \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{20000}). Каждая из следующих \textbf{n} строк содержит два целых числа - координаты точки \textbf{x_i} и \textbf{y_i}, не превосходящие по модулю \textbf{10000}. \OutputFile Выведите длину периметра выпуклой оболочки с максимально возможной точностью. Если в выпуклой оболочке содержится \textbf{2} точки, то достаточно вывести удвоенную длину отрезка.
Time limit 1 second
Memory limit 64 MiB
Input example #1
5
0 0
1 0
0 1
-1 0
0 -1
Output example #1
5.656854