Cod sursa(job #491662)

Utilizator Magnuscont cu nume gresit sau fals Magnus Data 11 octombrie 2010 22:04:50
Problema Dezastru Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.44 kb
#include <stdio.h>

int n,k,i,c;
double p[26],s;

void back(int x,int a,double pos)
{
	if(x==k)
	{
		s+=pos;
		++c;
        return;
	}
	int i;
    for(i=a+1;i<=n+x-k+1;i++) back(x+1,i,pos*p[i]);
}

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