Cod sursa(job #1692317)

Utilizator krityxAdrian Buzea krityx Data 20 aprilie 2016 17:37:47
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>
#include <algorithm>

using namespace std;
double sum, v[26];
int num, n, k;

int main()
{
	freopen("dezastru.in", "r", stdin);
	freopen("dezastru.out", "w", stdout);

	scanf("%d%d", &n, &k);

	double choose[26][26], s[26][26];
	
	s[0][0] = choose[0][0] = 1;

	for (int i = 1; i <= n; i++)
	{
		scanf("%lf", &v[i]);
		choose[0][i] = s[0][i] = 0;
		choose[i][0] = s[i][0] = 1;
		
	}

	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= k; j++)
		{
			choose[i][j] = choose[i - 1][j] + choose[i - 1][j - 1];
			s[i][j] = s[i - 1][j] + s[i - 1][j - 1] * v[i];
		}
	}

	printf("%0.6lf", (s[n][k]/ choose[n][k]));

	return 0;
}