coins
unknown
c_cpp
3 years ago
635 B
12
Indexable
#include <bits/stdc++.h>
using namespace std ;
const int maxn = 3007 ;
double dp[maxn][maxn] ;
double p[maxn] ;
int main (){
int a;
double ans = 0 ;
cin >> a;
for(int i = 1 ; i <= a ;i++){
cin >> p[i] ;
}
dp[0][0] = 1 ;
for(int i = 1 ; i <= a ; i++){
for(int j = 0 ; j <= a ; j++){
if (j == 0)
dp[i][j] = dp[i-1][j]*(1-p[i]) ;
else if (i == j) dp[i][j] = dp[i-1][j-1]*(p[i]) ;
else if (i > j)
dp[i][j] = dp[i-1][j]*(1-p[i]) + dp[i-1][j-1]*(p[i]);
}
}
for(int j = a/2 +1 ; j <= a ; j++)
ans += dp[a][j] ;
cout << ans ;
return 0;
}Editor is loading...