Pagini recente » Cod sursa (job #30114) | Cod sursa (job #1031890) | Cod sursa (job #199832) | Cod sursa (job #1603821) | Cod sursa (job #750738)
Cod sursa(job #750738)
#include<stdio.h>
#define NMAX 26
double A[ NMAX ][ NMAX ], v[ NMAX ], res;
int n, i, j, k;
void read()
{
FILE *f = fopen("dezastru.in", "r");
fscanf(f, "%d %d", &n, &k);
for(i = 1; i <= n; i++)
fscanf(f, "%lf", &v[i]);
fclose(f);
}
void dynamic()
{
A[0][0] = 1;
for(i = 1, A[i][0] = 1; i <= n; i++)
for(j = 1; j <= k; j++)
A[i][j] = A[i-1][j] + A[i-1][j-1] * v[i];
}
void write()
{
FILE *g = fopen("dezastru.out", "w");
fprintf(g, "%lf\n", res);
fclose(g);
}
int main()
{
read();
dynamic();
res = 1;
for(i = k + 1; i <= n; i++)
res *= i;
for(i = 2; i <= n - k; i++)
res /= i;
res = A[n][k] / res;
write();
return 0;
}