Cod sursa(job #2003334)

Utilizator trifangrobertRobert Trifan trifangrobert Data 22 iulie 2017 18:13:47
Problema Dezastru Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <iomanip>
#include <fstream>

using namespace std;

double sol = 0;
double v[30];
int n, m;
int st[30];
int nFact = 0;

void Read()
{
	ifstream f("dezastru.in");
	f >> n >> m;
	for (int i = 1;i <= n;i++)
		f >> v[i];
	f.close();
}

inline void Back(int k, int s, float sum)
{
	if (k > m)
	{
		sol += sum;
		nFact++;
		return;
	}
	for (int i = s + 1;i <= n - m + k;i++)
	{
		Back(k + 1, i, sum*v[i]);
	}
}

void Write()
{
	ofstream g("dezastru.out");
	g << setprecision(6) << sol / nFact << "\n";
	g.close();
}

int main()
{
	Read();
	Back(1, 0, 1);
	Write();
	return 0;
}