Cod sursa(job #448483)

Utilizator HoriaClementHoriaC HoriaClement Data 3 mai 2010 20:58:39
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <cstdio>

double v[1<<6],pos=0.0;
int n,k,combinare[1<<6][1<<6],c;

void citire()
{
	int i;
	freopen("dezastru.in","r",stdin);
	freopen("dezastru.out","w",stdout);
	scanf("%d%d",&n,&k);
	for(i=0;i<n;++i)
		scanf("%lf",v+i);//atac=v
}

void bkt(int p,int init,double poz)
{
	if (p==k) 
	{
		pos+=poz;
		++c;
		return;
	} 
	for (int i=init;i<=n-k+p;i++)
		bkt(p+1,i+1,poz*v[i]);
}
void rez()
{
	printf("%3lf",pos/c);
}
int main()
{
	citire();
	bkt(0,0,1);
	rez();
	return 0;
}