Cod sursa(job #265181)

Utilizator zlatebogdanZlate Bogdan zlatebogdan Data 23 februarie 2009 15:18:45
Problema Dezastru Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include<cstdio>
int n,k,prod=0;
double a[30],sum=0;
int back(int x,double q,int d,int w)
{
	int i;
	if (x==k+1)
	{
		sum+=q;	
		prod++;
		return 1;
	}
	int r=n+x-k;
	for(i=d+1;i<=r;++i)
		w+=back(x+1,q*a[i],i,0);
	return w;
}
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]);
	//fact();
	int w=back(1,1,0,0);
	printf("%lf",sum/w);
	return 0;
}