Pagini recente » Cod sursa (job #34921) | Cod sursa (job #357622) | Cod sursa (job #33491) | Cod sursa (job #512502) | Cod sursa (job #1717634)
#include <bits/stdc++.h>
#define Dim 27
FILE *fin = freopen("dezastru.in", "r", stdin);
FILE *fout = freopen("dezastru.out", "w", stdout);
using namespace std;
int n, k;
double A[Dim][Dim], p[Dim], C[Dim][Dim];
void read()
{
scanf("%d %d", &n, &k);
for(int i = 1; i <= n; ++ i)
scanf("%lf", &p[i]);
}
void solve()
{
int i, j;
A[1][1] = p[1];
A[1][0] = C[1][1] = C[1][0] = 1;
for(i = 2; i <= n; ++ i)
{
A[i][0] = C[i][0] = 1;
for(j = 1; j <= k && j <= i; ++ j)
{
A[i][j] = A[i - 1][j] + A[i - 1][j - 1] * p[i];
C[i][j] = C[i - 1][j] + C[i - 1][j - 1];
}
}
A[n][k] = A[n][k] / C[n][k];
}
void write()
{
printf("%.7lf\n", A[n][k]);
}
int main()
{
read();
solve();
write();
return 0;
}