Cod sursa(job #1105386)

Utilizator L.DanielLungu Daniel L.Daniel Data 11 februarie 2014 19:23:16
Problema Dezastru Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#include <iomanip>
using namespace std;
int n, t, s, v[30];
double x, a[30], b[30];
void calcul()
{
	s = s + 1;
	a[s] = 1;
	for (int i = 1; i <= t; i++)
		a[s] = a[s] * b[v[i]];
}
void BK(int k)
{
	for (int i = v[k - 1] + 1; i <= n; i++)
	{
		v[k] = i;
		if (k == t)calcul();
		else BK(k + 1);
	}
	
}
int main()
{
	ifstream cin("dezastru.in");
	ofstream cout("dezastru.out");
	cin >> n >> t; 
	for (int i = 1; i <= n; i++)
		cin >> b[i];
	BK(1);
	for (int i = 1; i <= s; i++)
		x = x + a[i] / s;
	cout << setprecision(6)<< x;
	return 0;
}