Cod sursa(job #2168341)

Utilizator mihailescu_eduardMihailescu Eduard-Florin mihailescu_eduard Data 14 martie 2018 10:31:56
Problema Dezastru Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<cstdio>
#include <bitset>
using namespace std;
int N, p;
double a[26];
double probabilitate,ct;

void bk(int k,double sum,int q)
{
    if(k == p + 1)
    {
        probabilitate+=sum;
        ct++;
    }
    else
    {
        for(register int x = q + 1; x<= N - p + k; ++x)
        {
            bk(k+1,sum*a[x],x);
        }
    }
}
int main()
{
    freopen("dezastru.in","r",stdin);
    freopen("dezastru.out","w",stdout);
    scanf("%d%d",&N,&p);
    for(int i = 1; i<= N;++i)
        scanf("%lf",&a[i]);
    bk(1,1,0);
    printf("%f",probabilitate/ct);
    return 0;
}