题号:NC232849
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld
题目描述
简化过的音游中,每次游戏有

次点击,每次点击有好和不好两种可能的结果,其中好表示为"O",不好表示为"X",则每次游戏可以表示为一个长度为

的字符串。游戏的得分可以用该字符串进行计算:对于每个最长的连续"O"串,其对分数的贡献为自身长度的平方。例如"OXXOOXOOO",其中有三个最长的连续"O"串:"O"、"OO"、"OOO",则分数为

。若字符串中没有"O",则分数为0。
现在给出每次点击是好的概率,其中第

次为好的概率为

。求游戏分数的期望值。
输入描述:
第一行输入一个整数
(
),表示点击数。
第二行输入
个实数
(
),每个实数至多有6位小数。
输出描述:
输出一行一个实数,表示分数的期望值,与答案的绝对或相对误差不超过
即为正确。
示例1
说明
对于第一个样例,有8种可能:
"OOO"=9
"OOX"=4
"OXO"=2
"OXX"=1
"XOO"=4
"XOX"=1
"XXO"=1
"XXX"=0
故期望值为(9+4+2+1+4+1+1+0)/8 = 2.75