Cod sursa(job #169102)

Utilizator AndreyPAndrei Poenaru AndreyP Data 1 aprilie 2008 08:44:07
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<stdio.h>
int n,k,sol[30],t=0;
float v[30],r=0;
void preluc()
{
	int i;
	t++;
	float par=1;
	for(i=1; i<=k; i++)
		par*=v[sol[i]];
	r+=par;
}
void back(int k1)
{
	if(k1==k+1)
	{
		preluc();
		return;
	}
	int i;
	for(i=sol[k1-1]+1; i<=n; i++)
	{
		sol[k1]=i;
		back(k1+1);
	}
}
int main()
{
	freopen("dezastru.in","r",stdin);
	freopen("dezastru.out","w",stdout);
	scanf("%d%d",&n,&k);
	int i;
	for(i=1; i<=n; i++)
		scanf("%f",&v[i]);
	back(1);
	r=r/t;
	printf("%f\n",r);
	return 0;
}