题目描述
龙骑士在玩一款名为SCOG的射击类游戏。他需要对一些目标进行射击。每次射击有两种结果:命中
或打偏。我们定义射中的情况为‘O’,射偏的情况为‘X’,那么,对于n次射击,则可以被写成一个长度
为n的由字符‘X’或‘O’组成的字符串。
用这个字符串你可以用以下的方法计算游戏的得分:对于一个极大的连续的"O"连续命中,将连续命中
的次数的平方加入到总得分中(即连续的"O"的个数的平方)。举例说明,如果龙骑士的命中情况
为"OOXOOOXXOO",那么极大连续的"O"连续命中共有三个:"OO","OOO","OO",所以你的总得分
为22+32+22=17。如果整局游戏里没有一次成功命中那么总得分就为0。
你现在知道了龙骑士在第i次(1<=i<=n)射击的命中率为pi,换句话说,字符串中第i个字符有pi
的概率成为"O",有1−pi的概率成为"X",你的任务是算出龙骑士玩这一局SCOG的总得分的期望
值。
输入格式
第一行包含一个整数表示一局的射击次数 (1<=n<=105)
第二行包含n个由空格间隔开的实数p1,P2,...,pn(0<=pi<=1)输入的pi最多为六位小数
输出格式
输出一个实数——龙骑士游戏的期望得分。你的答案需要保留三位小数
样例
输入样例
3
0.5 0.5 0.5
输出样例
2.750
提示
3位字符串一共有8种不同的情况。每一种出现的概率为0.125所以期望得分是(9+4+2+1+
4+1+1)/8=2.75
数据范围:
对于10%的数据,n<=10
对于40%的数据,n<1000
对于100%的数据,n<=105