Pagini recente » Cod sursa (job #2312271) | Cod sursa (job #2612363) | Cod sursa (job #2529405) | Cod sursa (job #242323) | Cod sursa (job #39550)
Cod sursa(job #39550)
# include <stdio.h>
# define _fin "dezastru.in"
# define _fout "dezastru.out"
# define maxn 33
double a[maxn][maxn], p[maxn], rez;
int n, k, i, j;
float x;
inline int max(int x, int y) { return x>y?x:y; }
inline int min(int x, int y) { return x<y?x:y; }
int main()
{
freopen(_fin, "r", stdin);
freopen(_fout,"w", stdout);
for (scanf("%d%d", &n, &k), i=1; i<=n; i++) scanf("%f", &x), p[i]=x;
for (i=0; i<=n; i++) a[i][0]=1.0;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++) a[i][j] = a[i-1][j] + a[i-1][j-1]*p[i];
for (rez=a[n][k], i=max(k, n-k)+1; i<=n; i++) rez /= i;
for (i=1; i<=min(k, n-k); i++) rez *= i;
printf("%.6f\n", rez);
return 0;
}