Cod sursa(job #690144)

Utilizator S7012MYPetru Trimbitas S7012MY Data 25 februarie 2012 11:46:15
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstdio>
#define DN 30
using namespace std;

int n,k,cont;
double sir[DN],total;

static inline void gen(int a, int b, double sol) {
    if(a==k) {
        ++cont;
        total+=sol;
        return;
    }
    for (int i=b+1; i<=n+a-k+1; ++i) gen(a+1,i,sol*sir[i]);
}

int main()
{
    freopen("dezastru.in","r",stdin);
    freopen("dezastru.out","w",stdout);
    scanf("%d %d",&n,&k);
    for(int i=1; i<=n; ++i) scanf("%d",&sir[i]);
    gen(0,0,1);
    printf("%lf",total/double(cont));
    return 0;
}