Cod sursa(job #1481302)
| Utilizator | 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));
}
