#NH4585. NH.2011.小甲.03.野外长跑(race)

NH.2011.小甲.03.野外长跑(race)

题目描述

明明的学校为了宣传创文,特地组织了一次野外长跑活动。

如下图所示,长跑的线路安排在一片连绵起伏的山坡上,工作人员预先在长跑路线的n个坡峰和坡谷处分别设置地点标记 p1,p2,...,pnp_1,p_2,...,p_n,并测量了每一个标记地点的海拔高度hi以及相邻两个标记地点的路程 sis_i

img

假设每两个相邻标记地点之间的线路都近似一段弧线,并且与两地点之间的直线距离相差很少以至可以忽略其差别。

好奇的明明想知道在这条长跑路线上,离起跑点最近的海拔最高点与最低点的直线距离是多少?

知识链接

  1. 如下图所示,设三角形ABC为直角三角形,c 为斜边,a,b 分别为两条直角边,那么 a,b,c 三边有如下关系:

img

c2c^2=a2a^2+b2b^2a2a^2= c2c^2-b2b^2b2b^2= c2c^2-a2a^2

  1. 如果要求c,则 c = a2+b2\sqrt {a^2+b^2} (这称为开平方运算)

在 c++ 语言中,sqrt(x) 为开平方函数,例如 sqrt(9) 的值为 3 , sqrt(6.25)的值为 2.5 。

输入格式

第一行:一个整数 n ( 2 ≦ n ≦ 100 ),表示有 n 个标记地点。

第二行:n 个空格分开的整数 hih_i ,第 i 个整数代表第 i 个标记地点的海拔高度。

第三行:n-1 个空格分开的整数 sis_i ,第 i 个整数代表第 i 段路程。

数据范围

0 < hih_i <= 100
0 < sis_i <= 100

输出格式

一个实数,表示长跑线路上海拔最低点与海拔最高点的直线距离。(最终结果四舍五入保留两位小数)。

样例

8
2 4 1 5 3 11 4 6
3 4 5 3 10 9 3
15.04