Cod sursa(job #731001)

Utilizator lucian666Vasilut Lucian lucian666 Data 7 aprilie 2012 12:08:29
Problema Dezastru Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb


#include<fstream>
#include<cstdio>
using namespace std;
int n,k1,x[26];
double p[26],prob=1,probfinal;
long long nrc;

ofstream out("dezastru.out");

inline void back(int k,double prob)
{
	if(k>k1)
	{
		++nrc;
		probfinal+=prob;
	}
	else
	for(int i=x[k-1]+1;i<=n-k1+k;i++)
	{
		x[k]=i;
			back(k+1,prob*p[i]);
	}
}

int main()
{
	ifstream in("dezastru.in");
	in>>n>>k1;
	for(int i=1;i<=n;i++)
		in>>p[i];
	back(1,1.0);
	out<<probfinal/nrc;
	return 0;
}