Cod sursa(job #1692241)

Utilizator krityxAdrian Buzea krityx Data 20 aprilie 2016 15:17:42
Problema Dezastru Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
#include <vector>
#include <list>
#include <iomanip>
using namespace std;

double sum = 0;
int num = 0;
int n, k;
double x;
vector<double> v;

inline void back(int count, int i, double product)
{
	if (count == k)
	{
		sum += product;
		num++;
	}
	else
	{
		for (int j = i; j < n - k + count + 1; j++)
		{
			back(count + 1, j + 1, product * v[j]);
		}
	}
}

int main()
{
	ifstream in("dezastru.in");
	ofstream out("dezastru.out");

	in >> n >> k;
	for (int i = 0; i < n; i++)
	{
		in >> x;
		v.push_back(x);
	}

	back(0, 0, 1.0);

	
	out << setprecision(7) << sum / num;

	return 0;
}