Cod sursa(job #350271)

Utilizator bogdanacmDrutu Bogdan bogdanacm Data 23 septembrie 2009 11:03:18
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <cstdio>
#include <cstring>
#include <vector>

using namespace std;

#define NMAX 105

int st[NMAX],N,K,var;
double sum=0,v[NMAX],prod=0,tot=1;

void back(int t,int st,double re)
{
	int i;
	if (t == K) 
	{
		sum += re;
		prod++;
		return;
	}

	for (i = st; i < N - K + t + 1;i++)
		back(t+1, i+1 ,re*v[i]);
}

int main()
{
	int i;
	freopen("dezastru.in", "rt", stdin);
	freopen("dezastru.out", "wt", stdout);

	scanf("%d %d",&N,&K);

	for (i=0;i<N;i++)
		scanf("%lf",&v[i]);

	back(0,0,1);

	sum /= (double)prod;

	printf("%.6lf\n",sum);
	return 0;
}