简单的计算几何问题
题号:NC231891
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

有一种缘,放手后成为风景。有一颗心,坚持中方显真诚。
mm是bs梦境中一直出现的女神,由于mm所在的王国经常被外人侵犯,bs一直想建造一条护城河来保护他的女神。今天,bs得知mm日常生活中经常去的n个地方的坐标,为了保护mm不受到伤害,所以bs必须要挖一条护城河把mm所有会经过的地方围起来,由于bs的数理基础很差,所以想请你帮忙计算下bs最短需要挖多长的护城河。
注:护城河上的点也算作护城河内部。

输入描述:

第一行包含整数 N,表示mm经常去的地点数目。

接下来 N 行,每行包含两个实数 Xi,Yi,表示一个地点的具体坐标。


输出描述:

输出一个实数,表示护城河最短长度。

保留两位小数。
示例1

输入

复制
4
4 8
4 12
5 9.3
7 8

输出

复制
12.00
示例2

输入

复制
20
2 10
3 7
22 15
12 11
20 3
28 9
1 12
9 3
14 14
25 6
8 1
25 1
28 4
24 12
4 15
13 5
26 5
21 11
24 4
1 8

输出

复制
70.87

说明

护城河会经过(18,0),(6,-6),(0,-5),(-3,-3),(-17,0),(-7,7),(0,4),(3,3)。
绕行一周的路径总长为70.8700576850888
所以答案是70.87

备注:

0≤N≤10000,
−1000000≤Xi,Yi≤100000,
数据保证所有护城河不会全部处在同一条直线上。