#include<bits/stdc++.h>
using namespace std;
struct node{
double x,y;
}z[100005],p[100005];
bool cmp(node u,node v){
return u.x<v.x;
}
bool xl(node a,node b,node c){
return (a.y-b.y)*(b.x-c.x)>(b.y-c.y)*(a.x-b.x);
}
double kkk(node a,node b){
return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>p[i].x>>p[i].y;
sort(p+1,p+n+1,cmp);
z[1]=p[1];
z[2]=p[2];
int tot=2;
for(int i=3;i<=n;i++)
{
while(tot>1&&xl(p[i],z[tot],z[tot-1]))
tot--;
z[++tot]=p[i];
}
double ans=0;
for(int i=1;i<tot;i++)
{
ans+=kkk(z[i],z[i+1]);
}
z[1]=p[n];
z[2]=p[n-1];
for(int i=n-2;i>=1;i--)
{
while(tot>1&&xl(p[i],z[tot],z[tot-1]))
tot--;
z[++tot]=p[i];
}
for(int i=tot-1;i>=1;i--)
{
ans+=kkk(z[i],z[i+1]);
}
printf("%.2lf",ans);
}
全WA