Cod sursa(job #37384)

Utilizator grecoTiberiu-Lucian Florea greco Data 24 martie 2007 23:13:05
Problema Dezastru Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
using namespace std;

#include <cstdio>
#include <vector>
#include <algorithm>

int N, K;
double v[64];

int main()
{
	int i, cnt;
	double sum, t;
	freopen("dezastru.in", "r", stdin);
	freopen("dezastru.out", "w", stdout);

	scanf("%d%d", &N, &K);
	for (i = 0; i < N; ++i)
		scanf("%lf", v+i);
	for (sum = 0., cnt = 0; cnt < 150000; ++cnt) {
		random_shuffle(v, v+N);
		for (t = 1., i = 0; i < K; ++i)
			t *= v[i];
		sum += t;
	}
	printf("%lf\n", sum/(double)cnt);
	return 0;
}