Cod sursa(job #750737)

Utilizator Mihai22eMihai Ionut Enache Mihai22e Data 22 mai 2012 22:42:22
Problema Dezastru Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#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 <= i; 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;
}