Pagini recente » Cod sursa (job #1662398) | Cod sursa (job #139892) | Cod sursa (job #2927079) | Borderou de evaluare (job #1036008) | Cod sursa (job #1838852)
#include <cstdio>
#define MAXN 26
using namespace std;
double p[MAXN], a[MAXN][MAXN], ans;
int comb[MAXN][MAXN];
int main()
{
freopen("dezastru.in", "r", stdin);
freopen("dezastru.out", "w", stdout);
int i, n, k, j;
scanf("%d%d", &n, &k);
for(i=1; i<=n; ++i)
scanf("%lf", &p[i]);
comb[1][1] = 1;
a[1][1] = p[1];
comb[1][0] = a[1][0] = 1;
for(i=2; i<=n; ++i)
{
a[2][0] = comb[2][0] = 1;
for(j=1; j<=k; ++j)
a[i][j] = a[i-1][j] + p[i]*a[i-1][j-1], comb[i][j] = comb[i-1][j] + comb[i-1][j-1];
}
printf("%lf", a[n][k] / (1.0*comb[n][k]));
return 0;
}