Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<iomanip>using namespace std;int n,m;float a[1001];float dp[1001][1001];////float recur(int mm,int nn){// if (nn<mm)// return 0;// else if (nn==0 && mm>0)// return 0;// else if (mm==0 && nn>0)// return (1.0-a[nn])*recur(mm,nn-1);// else if (mm==0 && nn==0)// return 1.0;// else// return a[nn]*recur(mm-1,nn-1)+(1.0-a[nn])*recur(mm,nn-1);////}int main(){cin>>n>>m;for (int i=1;i<=n;i++)cin>>a[i];dp[1][1]=a[1];dp[1][0]=1.0-a[1];for (int i=2;i<=n;i++)for (int j=0;j<=min(i,m);j++)if (j==0)