Problem7281--AtCoder Educational DP Contest —— I - Coins

7281: AtCoder Educational DP Contest —— I - Coins

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB  Special Judge

Description

Let $N$ be a positive odd number.
There are $N$ coins, numbered $1,2,…,N$. For each $i\ (1≤i≤N)$, when Coin $i$ is tossed, it comes up heads with probability $p_i$ and tails with probability $1 - p_i$.
Taro has tossed all the $N$ coins. Find the probability of having more heads than tails.

Input

Input is given from Standard Input in the following format:
$N$
$p_1\ p_2\ \ldots\ p_N$

Output

Print the probability of having more heads than tails. The output is considered correct when the absolute error is not greater than $10^{-9}$.

Constraints

$N$ is an odd number.
$1≤N≤2999$
$p_i$is a real number and has two decimal places.
$0 < p_i < 1$

Sample 1 Input

3
0.30 0.60 0.80

Sample 1 Output

0.612
The probability of each case where we have more heads than tails is as follows:
  • The probability of having (Coin 1, Coin 2, Coin 3) = (Head, Head, Head) is 0.3 × 0.6 × 0.8 = 0.144;
  • The probability of having (Coin 1, Coin 2, Coin 3) = (Tail, Head, Head) is 0.7 × 0.6 × 0.8 = 0.336;
  • The probability of having (Coin 1, Coin 2, Coin 3) = (Head, Tail, Head) is 0.3 × 0.4 × 0.8 = 0.096;
  • The probability of having (Coin 1, Coin 2, Coin 3) = (Head, Head, Tail)) is 0.3 × 0.6 × 0.2 = 0.036.
Thus, the probability of having more heads than tails is 0.144 + 0.336 + 0.096 + 0.036 = 0.612.

Sample 2 Input

1
0.50

Sample 2 Output

0.5
Outputs such as 0.500, 0.500000001 and 0.499999999 are also considered correct.

Sample 3 Input

5
0.42 0.01 0.42 0.99 0.42

Sample 3 Output

0.3821815872

Source/Category