Cod sursa(job #491500)

Utilizator cristian9Cristian Zloteanu cristian9 Data 11 octombrie 2010 17:16:44
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <stdio.h>

int n, k, a;
double v[26], r;

void back (int p, int m, double x){
	int i;
	if (p==k) {
        //printf("%lf ", x);
		r+=x;
		a++;
	}
	else
		for (i=m+1; i<=n+p-k+1; i++)
			back(p+1, i, x*v[i]);
}

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

	int i;

	scanf("%d %d ", &n, &k);

	for (i=1; i<=n; i++)
		scanf("%lf", &v[i]);

	for (i=1; i<=n-k+1; i++)
		back(1, i, v[i]);

	printf("%.6lf", r/a);
	return 0;
}