Cod sursa(job #182150)

Utilizator marinaMarina Horlescu marina Data 20 aprilie 2008 14:00:12
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
//Dezastru - infoarena
#include <stdio.h>
#define INPUT "dezastru.in"
#define OUTPUT "dezastru.out"
#define NMAX 32

int N, K;
long long C[NMAX][NMAX];
//A[i][j] - suma prod de j factori din primele i numere
//A[i][j] = A[i-1][j] + A[i][j-1]*pi
double A[NMAX][NMAX], v[NMAX]; 


int main()
{
	freopen(INPUT, "r", stdin);
	freopen(OUTPUT, "w", stdout);
	
	scanf("%d %d", &N, &K);
	int i;
	
	for(i = 1; i <= N; ++i)
	{
		scanf("%lf", &v[i]);
		A[i][0] = 1;
		C[i][0] = 1;
	}
	A[0][0] = C[0][0] = 1;
	
	int j;
	for(i = 1; i <= N; ++i)
		for(j = 1; j <= i; ++j)
			A[i][j] = A[i-1][j] + A[i-1][j-1] * v[i],
			C[i][j] = C[i-1][j] + C[i-1][j-1];
	
	printf("%.6lf\n", A[N][K]/C[N][K]);
}