Pagini recente » Cod sursa (job #2349820) | Cod sursa (job #242824) | Cod sursa (job #1497218) | Cod sursa (job #1615207) | Cod sursa (job #2045053)
#include <bits/stdc++.h>
using namespace std;
#define NMAX 26
ifstream in("dezastru.in");
ofstream out("dezastru.out");
vector <int> v;
int N,K;
double S;
double prob[NMAX];
int nr_perm(int N) {
int P = 1;
for(int i = 1; i <= N; ++i) P*=i;
return P;
}
int main(){
in >> N >> K;
for(int i = 1; i <= N; ++i)
in >> prob[i];
int sol = nr_perm(N);
for(int i = 1; i <= N; ++i)
v.push_back(i);
do {
double P = 1;
for(int i = 0; i < K; ++i)
P*=prob[v[i]];
S+= P/sol;
}while(next_permutation(v.begin(),v.end()));
out << S;
return 0;
}