Cod sursa(job #43516)
Utilizator | Data | 30 martie 2007 11:18:27 | |
---|---|---|---|
Problema | Dezastru | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <stdio.h>
#define maxn 30
#define db double
int n,m;
db c[maxn][maxn],p[maxn];
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d %d ",&n,&m);
int i,j;
for (i=1;i<=n;i++) scanf("%lf ",&p[i]);
c[0][0]=1;
for (i=0;i<n;i++)
for (j=0;j<=i;j++)
{
c[i+1][j]+=c[i][j];
c[i+1][j+1]+=c[i][j]*p[i+1]*(j+1);
}
for (i=1;i<=n;i++) c[n][m]/=i;
printf("%.6lf\n",c[n][m]);
return 0;
}