Cod sursa(job #645037)
| Utilizator | Data | 8 decembrie 2011 01:06:48 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 40 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <stdio.h>
char n,k,i,j;
float p,b[30],m[30][30];
int c=1;
int main () {
freopen ("dezastru.in","r",stdin);
freopen ("dezastru.out","w",stdout);
scanf ("%hd%hd",&n,&k);
for (i=k+1; i<=n; i++) c*=i;
for (i=1; i<=n-k; i++) c/=i;
for (i=1; i<=n; i++) scanf ("%f",b+i);
for (i=0; i<=n; i++) m[0][i]=1;
for (i=1; i<=k; i++)
for (j=i; j<=n; j++)
m[i][j]=m[i][j-1]+b[j]*m[i-1][j-1];
printf ("%.6f\n",m[k][n]/c);
return 0;
}
