Cod sursa(job #589405)

Utilizator brainwashed20Alexandru Gherghe brainwashed20 Data 12 mai 2011 09:08:58
Problema Dezastru Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<cstdio>

using namespace std;

#define Nmax 32

int N, M, nrperm;
double A[Nmax], sum;

void back(int k, int poz, double prod) {
	if(k==M+1) {
		nrperm++;
		sum+=prod;
	}
	else {
		int i;
		for(i=poz+1; i<=N-M+k; i++)
			back(k+1, i, prod*A[i]);
	}
}

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

	int i;
	scanf("%d %d",&N,&M);
	for(i=1; i<=N; i++)
		scanf("%lf",&A[i]);

	back(1,0,1);

	printf("%.6lf\n", sum / nrperm);
	
	return 0;
}