Cod sursa(job #53426)

Utilizator wefgefAndrei Grigorean wefgef Data 22 aprilie 2007 08:37:54
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <cstdio>

#define Nmax 32

int n, k;
double v[Nmax];
double c[Nmax][Nmax];

void readdata()
{
	freopen("dezastru.in", "r", stdin);
	freopen("dezastru.out", "w", stdout);
	
	scanf("%d %d", &n, &k);
	for (int i = 1; i <= n; ++i)
		scanf("%lf", &v[i]);
}

void solve()
{
	int i, j;
	
	for (i = 0; i <= n; ++i)
		c[i][0] = 1;
	for (i = 1; i <= n; ++i)
		for (j = 1; j <= i; ++j)
			c[i][j] = ( j*c[i-1][j-1]*v[i] + (i-j)*c[i-1][j] ) / i;
		
	printf("%.6lf\n", c[n][k]);
}

int main()
{
	readdata();
	solve();
	return 0;
}