Cod sursa(job #991526)

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

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

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

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;
}