Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<bits/stdc++.h>#define LL long long#define bug(x) cout<<(x)<<endlusing namespace std;const int maxn = 1000+10;const int mod = 1e9+7;double a[maxn];double dp[maxn][maxn];int main(){int n,m;scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){scanf("%lf",a+i);}dp[1][1]=a[1];dp[1][0]=1-a[1];for(int i=2;i<=n;i++){dp[i][0]=dp[i-1][0]*(1-a[i]);}for(int i=2;i<=n;i++){for(int j=m;j>=1;j--){dp[i][j]=dp[i-1][j]*(1-a[i])+dp[i-1][j-1]*a[i];}}/*for(int i=0;i<=n;i++)