#D0141. Coins

Coins

问题陈述

NN 是一个正奇数。

NN 枚硬币,编号为 1,2,,N1, 2, \ldots, N 。对于每个 ii ( 1iN1 \leq i \leq N ),当抛掷编号为 ii 的硬币时,正面出现的概率为 pip_i ,反面出现的概率为 1pi1 - p_i

太郎抛出了所有的 NN 枚硬币。求正面比反面多的概率。

限制因素

  • NN 是奇数。
  • 1N29991 \leq N \leq 2999
  • pip_i 是实数,且有两位小数。
  • 0<pi<10 \lt p_i \lt 1

输入

输入内容由标准输入法提供,格式如下:

  • NN
  • p1p_1 p2p_2 \ldots pNp_N

输出

打印正面多于反面的概率。如果绝对误差不大于 10910^{-9} ,则认为输出正确。

3
0.30 0.60 0.80
0.612

正面多于反面的概率如下:

  • 出现 (Coin1,Coin2,Coin3)=(Head,Head,Head)(Coin 1, Coin 2, Coin 3) = (Head, Head, Head) 的概率是 0.3×0.6×0.8=0.1440.3 × 0.6 × 0.8 = 0.144
  • 出现 (Coin1,Coin2,Coin3)=(Tail,Head,Head)(Coin 1, Coin 2, Coin 3) = (Tail, Head, Head) 的概率是 0.7×0.6×0.8=0.3360.7 × 0.6 × 0.8 = 0.336
  • 拥有 (Coin1,Coin2,Coin3)=(Head,Tail,Head)(Coin 1, Coin 2, Coin 3) = (Head, Tail, Head) 的概率是 0.3×0.4×0.8=0.0960.3 × 0.4 × 0.8 = 0.096
  • (Coin1,Coin2,Coin3)=(Head,Head,Tail)(Coin 1, Coin 2, Coin 3) = (Head, Head, Tail) 的概率是 0.3×0.6×0.2=0.0360.3 × 0.6 × 0.2 = 0.036

因此,正面比反面多的概率是 0.144+0.336+0.096+0.036=0.6120.144 + 0.336 + 0.096 + 0.036 = 0.612

1
0.50
0.5

0.5000.5000000010.499999999 等输出也被认为是正确的。

5
0.42 0.01 0.42 0.99 0.42
0.3821815872

来源

https://atcoder.jp/contests/dp/tasks/dp_i