#icpc2014autumnc. [icpc2014autumn_c]Speedrun

[icpc2014autumn_c]Speedrun

题目描述

《无尽编年史 -公主城堡-》是一个简单的角色扮演游戏。有 n+1n + 1 个检查点,编号从 00nn,对于每个 i=1,2,,ni = 1, 2, \ldots, n,都有一条从检查点 i1i-1ii 的唯一单行道。游戏从检查点 00 开始,结束于检查点 nn。恶魔怪物将出现在道路上,勇士将与它们进行战斗。您可以在任何检查点保存游戏进度;如果您在战斗中失败,可以从上次保存的检查点重新开始游戏。在游戏开始时,进度在检查点 00 自动保存,没有时间限制。

兔子 花子 喜欢这个游戏,现在对速通感兴趣。尽管花子是该游戏的专家,但由于随机因素的原因,她并不总能赢得战斗。对于每个 ii,她估计了在从检查点 i1i-1ii 的整个道路上获胜的概率 pip_i。每次她从检查点 i1i-1 开始后的一分钟内,以概率 pip_i 到达检查点 ii,以概率 1pi1-p_i 到达上次保存的检查点。

花子困惑的是,保存进度在一个检查点需要花费一分钟(!),因此,为了快速前进,不保存一些检查点可能是个好主意。任务是计算完成游戏所需的最小预期时间。


输入

输入由多个数据集组成。数据集的数量不超过 5050。每个数据集有两行:第一行包含一个整数 nn (1n1051 \le n \le 10^5),表示道路的数量;第二行包含 nn 个数字 p1,p2,,pnp_1, p_2, \ldots, p_n (0<pi10 < p_i \le 1),表示获胜的概率。每个 pip_i 在小数点后有两位小数。输入的结束以一行只包含单个零表示。


输出

对于每个数据集,在一行中以至多 10810^{-8} 的相对误差显示最小预期时间(以分钟为单位)。


示例输入

2
0.50 0.40
2
0.70 0.60
4
0.99 1.00 1.00 0.01
0```

### 示例输出

```plain
5.5000000000
4.0476190476
104.0101010101```

---

### 出处

JAG Practice Contest for ACM-ICPC Asia Regional 2014