Cod sursa(job #796147)

Utilizator lucian666Vasilut Lucian lucian666 Data 10 octombrie 2012 19:10:43
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb


//Vasilut
#include<cstdio>
#define NN 26

using namespace std;


float bst[NN][NN],sir[NN],comb;
int n,k;

void read();
void init();
void solve();
void write();

int main()
{
    read();
    solve();
    write();
    return 0;
}

void read()
{
    freopen("dezastru.in","r",stdin);
    freopen("dezastru.out","w",stdout);
    scanf("%d%d",&n,&k);

    for(int i=1;i<=n;i++)
    {
        scanf("%f",&sir[i]);
        bst[i][0]=1;
    }
    bst[0][0]=1;
}

void init()
{
    comb=1;
    for(int i=k+1;i<=n;i++)
    comb=comb*i;
    for(int i=i;i<=(n-k);i++)
    comb=comb/i;
}

void solve()
{
    for(int i=1;i<=n;i++)
    {
            for(int j=1;j<=k;j++)
        {
        bst[i][j]=bst[i-1][j] + bst[i-1][j-1]*sir[i];
        }
    }
    init();
}

void write()
{
    printf("%f",bst[n][k]/comb);

}