Cod sursa(job #2176547)

Utilizator DimaTCDima Trubca DimaTC Data 17 martie 2018 17:35:24
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 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;

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


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);
	cout<<fixed<<setprecision(10)<<rs/f;
	
	return 0;
}