Cod sursa(job #39119)

Utilizator blahblahblahblah blahblah Data 26 martie 2007 13:52:32
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <stdio.h>

#define doubl double

int N, K;

doubl a[40];

doubl S = 0;

int nr = 0;

inline void back(int k, doubl jeg, int last)
{
	if (k == K + 1) {
		S += jeg;
		nr++;
	} else {
		for (int i = last + 1; i <= N - K + k; i++)
			back(k + 1, jeg * a[i], i);
	}
}

int main()
{
	int i;
	
	freopen("dezastru.in", "r", stdin);
	freopen("dezastru.out", "w", stdout);
	
	scanf("%d %d", &N, &K);
	
	for (i = 1; i <= N; i++) scanf("%lf", &a[i]);
	
	back(1, 1, 0);
	
	printf("%lf\n", S / nr);
	
fclose(stdin);
fclose(stdout);
return 0;
}