Cod sursa(job #187770)

Utilizator ProtomanAndrei Purice Protoman Data 5 mai 2008 13:19:04
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <stdio.h>
long n,k,cant;
double s;
double a[50];

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

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