Pagini recente » Cod sursa (job #230953) | Cod sursa (job #2691613) | Cod sursa (job #55610) | Cod sursa (job #1831977) | Cod sursa (job #1841554)
#include <cstdio>
#define Q 25
double A[Q + 1][Q + 1];
double P[Q + 1];
int com[Q + 1][Q + 1];
int main() {
// freopen("dezastru.in", "r", stdin);
// freopen("dezastru.out", "w", stdout);
FILE *fi = fopen("dezastru.in", "r");
FILE *fo = fopen("dezastru.out", "w");
int n, k;
fscanf(fi, "%d%d", &n, &k);
for(int i = 1;i <= n;i++)
fscanf(fi, "%lf", &P[i]);
com[1][1] = com[1][0] = 1;
A[1][1] = P[1];
A[1][0] = 1;
for(int i = 2;i <= n;i++) {
A[i][0] = com[i][0] = 1;
for(int j = 1;j <= k;j++) {
A[i][j] = A[i - 1][j] + A[i - 1][j - 1] * P[i];
com[i][j] = com[i - 1][j] + com[i - 1][j - 1];
}
}
double rasp;
rasp = A[n][k] / (double)com[n][k];
fprintf(fo, "%.6lf", rasp);
return 0;
}