Cod sursa(job #528599)

Utilizator tudorsTudor Siminic tudors Data 3 februarie 2011 00:26:52
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <fstream>
#include <iomanip>
using namespace std;
int n,k;
int c,i;
double P[30];
double rez;

ifstream f("dezastru.in");
ofstream g("dezastru.out");

static inline void bt(int v, int b, double s)
{
	int i;
	if (v==k)
	{
		c++;
		rez+=s;
	}
	else
		for (i=b+1;i<=n+v-k+1;i++)
			bt(v+1,i,s*P[i]);
}


int main()
{
	f>>n>>k;
	for (i=1;i<=n;i++)
		f>>P[i];
	bt(0,0,1);
	g<<fixed<<setprecision(6)<<rez/double(c);
	f.close();
	g.close();
	return 0;
}