Cod sursa(job #1481302)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 4 septembrie 2015 10:00:42
Problema Dezastru Scor 80
Compilator c Status done
Runda Arhiva de probleme Marime 0.42 kb
#include<stdio.h>
int n,k,i,j;
double p[26],a[26][26];
double C(int n,int k) { return n==k||!k?1:C(n-1,k)+C(n-1,k-1); }
int main() {
    freopen("dezastru.in","r",stdin),freopen("dezastru.out","w",stdout),scanf("%d%d",&n,&k);
    for(i=1;i<=n;i++)
        scanf("%lf",&p[i]),a[i][0]=1;
    for(a[0][0]=i=1;i<=k;i++)
    for(j=i;j<=n;j++)
        a[j][i]=a[j-1][i]+a[j-1][i-1]*p[j];
    printf("%.6lf",a[n][k]/C(n,k));
}