Cod sursa(job #491194)

Utilizator stef2503Stefan Stan stef2503 Data 10 octombrie 2010 18:04:45
Problema Dezastru Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include <stdio.h>

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

void back (int p, int m, double x)
{
	int i;
	if (p==k) {
		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", &n);
	scanf("%d", &k);
	for (i=1; i<=n; i++)
		scanf("%f", &v[i]);
	for (i=1; i<=n-k+1; i++)
		back(1, i, v[i]);
	r/=a;
	printf("%.6f", r);
	return 0;
}