Cod sursa(job #967086)

Utilizator gbi250Gabriela Moldovan gbi250 Data 27 iunie 2013 01:24:00
Problema Dezastru Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <cstdio>
#define size 26
using namespace std;
int n, k, i, j, a;
float m[size][size], v[size], c=1;

int main()
{
    freopen("dezastru.in", "r", stdin);
    freopen("dezastru.out", "w", stdout);
    scanf("%d %d", &n, &k);
    m[0][0]=1;
    for(i=1;i<=n;i++)
        scanf("%f", &v[i]);
    for(i=0;i<=25;i++)
        m[i][0]=1;
    for(i=1;i<=25;i++)
        for(j=1;j<=25;j++)
            m[i][j]=m[i-1][j]+m[i-1][j-1]*v[i];

    a=n-k;
    for(i=k+1;i<=n;i++)
    {
        c*=i/a;
        if(a>1)
            a--;
    }

    printf("%.6f\n", (float)m[n][k]/c);
    return 0;
}