Cod sursa(job #2108925)

Utilizator flibiaVisanu Cristian flibia Data 18 ianuarie 2018 22:31:22
Problema Dezastru Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <bits/stdc++.h>

using namespace std;

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

int n, k, cnt;
double p[30], rs;

void back(int nr, int lvl, double _){
	if(lvl > k){
		cnt++;	
		rs += _;
		return;
	}
	for(int i = nr + 1; i <= n - k + lvl; i++)
		back(i, lvl + 1, _ * p[i]);
}

int main(){
	in >> n >> k;
	for(int i = 1; i <= n; i++)
		in >> p[i];
	back(0, 1, 1);
	out << fixed << setprecision(6) << rs / cnt;
	cerr << clock() * 1000.0 / CLOCKS_PER_SEC;
	return 0;
}