Cod sursa(job #421968)

Utilizator dornescuvladVlad Eugen Dornescu dornescuvlad Data 21 martie 2010 21:46:03
Problema Dezastru Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<iostream>
#include<fstream>
#include<iomanip.h>

using namespace std;

ifstream fin("dezastru.in");
ofstream fout("dezastru.out");

int v[28],k,n,ct;
double p[28],prod,s;


inline void Genereaza(int pas)
{
	if(pas == k+1)
	{
			prod = 1;
			ct ++;
			for(int i=1;i<=k;i++)
				prod*=p[v[i]];
			s+=prod;
	}
	else
		for(int i=v[pas-1]+1; i<=n-k+pas; i++)
		{
			v[pas]=i;
			Genereaza(pas+1);
		}
}

int main()

{
	fin>>n>>k;
	for(int i=1;i<=n;i++)
		fin>>p[i];
	Genereaza(1);
	fout<<fixed;
	fout<<setprecision(6);
	fout<<s/ct;
	return 0;
}