Cod sursa(job #491156)

Utilizator Balmus_MaximBalmus Maximilian Balmus_Maxim Data 10 octombrie 2010 10:07:40
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <stdio.h>

int n,k,i,ni;
double v[30],s;

void back(int p, int m, double q)
{
	int i;
	if(p==k){
		s=s+q;
		ni++;
	}else{
		for(i=m+1;i<=n+p-k+1;i++){
			back(p+1,i,q*v[i]);
		}
	}
}
		

int main()
{
	freopen("dezastru.in","r",stdin);
	freopen("dezastru.out","w",stdout);
	scanf("%d",&n);
	scanf("%d",&k);
	for(i=1;i<=n;i++){
		scanf("%lf",&v[i]);
	}
	for(i=1;i<=n-k+1;i++){
		back(1,i,v[i]);
	}
	s=s/ni;
	printf("%lf",s);
	return 0;
}