Cod sursa(job #37424)

Utilizator bogdan2412Bogdan-Cristian Tataroiu bogdan2412 Data 25 martie 2007 09:25:39
Problema Dezastru Scor 80
Compilator cpp Status done
Runda preONI 2007, Runda 4, Clasa a 9-a si gimnaziu Marime 0.48 kb
#include <stdio.h>

#define MAXN 32

int N, K;
long double p[MAXN];

long double SUM; int NR;

void back( int k, int l, long double P )
{
	if (k == K)
	{
		NR++;
		SUM += P;
		return;
	}

	for (int i = l + 1; i <= N - K + k; i++)
		back( k + 1, i, P * p[i] );
}

int main()
{
	freopen("dezastru.in", "rt", stdin);
	freopen("dezastru.out", "wt", stdout);

	scanf("%d %d", &N, &K);
	for (int i = 0; i < N; i++)
		scanf("%Lf", p + i);

	back(0, -1, 1);

	printf("%.6Lf\n", SUM / NR);
	return 0;
}