Cod sursa(job #1692282)

Utilizator krityxAdrian Buzea krityx Data 20 aprilie 2016 16:47:01
Problema Dezastru Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <cstdio>

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

inline void back(int count, int i, double product)
{
	if (count == k)
	{
		sum += product;
		num++;
		return;
	}
	for (int j = i; j < n - k + count + 1; j++)
	{
		back(count + 1, j + 1, product * v[j]);
	}
}

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

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

	back(0, 0, 1.0);

	printf("%0.6lf", (double)((double)sum / (double)num));

	return 0;
}