#CF838E. Convex Countour(等待测评数据)

Convex Countour(等待测评数据)

当前没有测试数据。

Convex Countour

题面翻译

按顺时针给出一个凸多边形,任意两点间有一条直线边,求每个点恰好一次的最长不自交(和之前线段相交)路径

题目描述

You are given an strictly convex polygon with n n vertices. It is guaranteed that no three points are collinear. You would like to take a maximum non intersecting path on the polygon vertices that visits each point at most once.

More specifically your path can be represented as some sequence of distinct polygon vertices. Your path is the straight line segments between adjacent vertices in order. These segments are not allowed to touch or intersect each other except at the vertices in your sequence.

Given the polygon, print the maximum length non-intersecting path that visits each point at most once.

输入格式

The first line of input will contain a single integer n n ( 2<=n<=2500 2<=n<=2500 ), the number of points.

The next n n lines will contain two integers xi,yi x_{i},y_{i} ( xi,yi<=109 |x_{i}|,|y_{i}|<=10^{9} ), denoting the coordinates of the i i -th vertex.

It is guaranteed that these points are listed in clockwise order.

输出格式

Print a single floating point number, representing the longest non-intersecting path that visits the vertices at most once.

Your answer will be accepted if it has absolute or relative error at most 109 10^{-9} . More specifically, if your answer is a a and the jury answer is b b , your answer will be accepted if abmax(1,b)109\frac{|a - b|}{\max {(1, b)}} \leq 10^{-9}.

样例 #1

样例输入 #1

4
0 0
0 1
1 1
1 0

样例输出 #1

3.4142135624

提示

One optimal path is to visit points 0,1,3,2 in order.

source

CF 838E