Cod sursa(job #3225217)

Utilizator EricDimiC. Eric-Dimitrie EricDimi Data 17 aprilie 2024 09:32:16
Problema Dezastru Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <iostream>
#include <fstream>
#include <iomanip>
#define NMAX 35

using namespace std;

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

int a[NMAX];
int i, n, K, nrpermutari;
double v[NMAX], ans;

void bkt(int k, double p)
{
	int i;
	for (i = a[k-1]+1; i <= n; i++)
	{
		a[k] = i;
		if (k == K)
		{
			ans += p*v[a[k]];
			nrpermutari++;
		}
		else
			bkt(k+1, p*v[a[k]]);
	}
}

int main()
{
	f >> n >> K;
	for (i = 1; i <= n; i++)
		f >> v[i];
	bkt(1, 1);
	g << fixed << setprecision(6) << ans/nrpermutari;
	f.close();
	g.close();
	return 0;
}