Cod sursa(job #1540723)

Utilizator dorin31Geman Dorin Andrei dorin31 Data 3 decembrie 2015 09:36:02
Problema Dezastru Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <iostream>
#include <stdio.h>
#include <iomanip>

using namespace std;

int n,k,nr;
float v[30],S;

void Solve(int a, int b, float sol)
{
    if (a==k)
    {
        ++nr;
        S+=sol;
        return;
    }
    for (int i=b+1; i<=n+a-k+1; ++i)
        Solve(a+1,i,sol*v[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("%f",&v[i]);
    Solve(0,0,1);
    S/=nr;
    printf("%.6f",S);
    return 0;
}