开始: 2023-09-27 12:20:00

0927复赛周赛001

结束: 2023-10-21 00:00:00
当前  2025-01-24 19:29:12  类型: IOI  状态: 已经结束 

P4. 旅行城市
描述

你正在一个城市里旅游,这个城市里有n个景点,你需要从1号点出发,按顺序访问2号点、3号点...n-1号点、n号点并结束冒险,本来是这样的。

但是你感觉有些累,希望跳过其中的若干个点。设你跳过了k个点,则你跳过点的花费为:

k=0,则花费为0

k>0,则花费为2^{k-1}

而你路上总花费为:对于未跳过的剩余点,相邻点的距离之和。

需要注意的是,你必须1号点出发,n号点结束,故1号点和n号点不允许跳过。

对于平面上两点ab,ab的距离是线段ab的距离,可以使用sqrt函数计算:sqrt((x_a-x_b) * (x_a-x_b)+(y_a-y_b) * (y_a-y_b))

现在你希望跳过0个或者若干个点,使得自己的跳过景点的花费+路上总花费最小。请你输出一个三位小数表示你的答案。


输入

第一行一个正整数n表示景点数量。

接下来n行,每行两个整数。第i+1行表示第i个景点的横纵坐标。


输出

输出一个三位小数表示最小的跳过景点的花费+路上花费。

样例

输入

2
0 0
10000 10000

输出

14142.136

输入

6
0 0
1 1
2 0
0 1
1 0
2 1

输出

5.828
提示

对于20%的数据,保证 x_i为0,y_i为0或1。

对于40%的数据,保证n\leq 20

对于60%的数据,保证n\leq 100

对于100%的数据,保证2\leq n \leq 10^5,0\leq x_i,y_i \leq 10000,不保证每个景点的坐标不同。


提交

题目参数
时间限制 1 秒
内存限制 256 MB
提交