Cod sursa(job #2176550)

Utilizator DimaTCDima Trubca DimaTC Data 17 martie 2018 17:44:08
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include<bits/stdc++.h>
#define NMAX 50
#define int long long
using namespace std;

int n,K,s[NMAX];
double rs;
double a[NMAX];
int f;
int lvl;

void BT(int k, double p) {
	if (k==K+1) {
		f++;
		rs+=p;
		return;
	}
	
	for (int i=lvl+1; i<=n; i++) {
		lvl=i; 
		BT(k+1,p*a[i]);
	}
}


int32_t main() {
	ifstream cin("dezastru.in");
	ofstream cout("dezastru.out");
	cin>>n>>K;
	for (int i=1; i<=n; i++) cin>>a[i];
	BT(1,1);
	cout<<fixed<<setprecision(10)<<rs/f;
	
	return 0;
}