Cod sursa(job #2466008)

Utilizator rusu.ralucaRusu Raluca rusu.raluca Data 1 octombrie 2019 10:50:27
Problema Dezastru Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
#include <algorithm>
#include <iomanip>

using namespace std;

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

long long n, k, nrp;
vector <int> v;
float a[30], sol;

void back(){
	do{
		float p = 1;
		for(int i=1; i<=k; i++){
			p *= a[v[i]]; 
		}
		sol+=p;
		nrp++;
	}while(next_permutation(v.begin(), v.end()));

}

int main(){
	fin >> n >> k;
	for(int i = 1; i <= n; ++i){
		fin >> a[i];
		v.push_back(i);
	}
	back();
	fout << fixed << setprecision(6) << sol/nrp;
}