Cod sursa(job #991538)

Utilizator misu007Pogonaru Mihai misu007 Data 30 august 2013 18:37:46
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <cstdio>
using namespace std;

int n,k1;
double pt=0,p[25];

void back(int k,int t,double pr)
{
    if(k==k1)
    {
        pt+=2*pr;
    }
    else
    {
        for(int i=t;i<n;++i)
        {
            back(k+1,i+1,pr*p[i]);
        }
    }
}
/*
void fact()
{
    for(int i=2;i<=n;++i)
    {
        pt*=(double)(1)/(double)(i);
    }
}*/

int main()
{
    freopen("dezastru.in","r",stdin);
    freopen("dezastru.out","w",stdout);
    int i;
    scanf("%d%d",&n,&k1);
    for(i=0;i<n;++i) scanf("%lf",&p[i]);
    back(0,0,1);
   // fact();
    printf("%.6lf\n",pt);
    return 0;
}