你一觉醒来,从窗口望出。发现今天是神奇的一天,路上所有的红绿灯竟然都是绿灯(没有车会停下来)。你看到的是一条无穷无尽的,而又狭窄的一条直路,超车是不可能的。即使后一辆车的速度可能比它前面的车来得快,比如追上了前面的车,也只能与前车相同的速度行驶;如果前方没有其他车,驾驶员将以该车能行驶的最快速度行驶。你可以认为,当后车追上前车时,两车的距离可以一直保持为0。
这些车都前往着目的地,请注意,即使在汽车经过目的地后,它仍然在道路上行驶,并且不能超车。
你忽然发现在队伍的最末端,有一辆跑车,可是在这茫茫车海中,它似乎并不能展现它真正的实力。
你掐指一算,了解到了各车离目的地的距离,每辆车能够行驶的最快速度,以及各车的长度。现在你想知道最后那辆跑车通过目的地的最短时间。
Li代表第i辆车的车长,Si代表第i辆车的车头离目的地的距离,Vi代表第i辆车的速度 (0 ≤ i ≤ n,跑车是第0辆)。
跑车的最高速度不一定是所有车里最快的
多组数据输入
对于每个测试样例,第一行的输入包含一个n,代表车的数量 (1 ≤ n ≤ 1e5)
接下来的三行,每行有n+1个整数,分别代表Li, Si, Vi (1 ≤ Li, Si, Vi ≤ 1e9;对任意 i ∈ [0, n-1],有 si ≥ Si+1 + Li+1)
所有数据n之和不超过2e6
输出最短时间,只要你的输出与答案的偏差不超过10-6即算正确。保证答案存在。
1 2 2 7 1 2 1 2 1 2 2 10 7 1 6 2 1
3.5000000000 5.0000000000Note
对于第一个样例,跑车的 L=2, S=7, V=2