Pagini recente » Cod sursa (job #3236309) | Cod sursa (job #3315293) | Cod sursa (job #933309) | Cod sursa (job #823484) | Cod sursa (job #3328019)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int n, k, i, fact[32];
double v[32], rasp;
static inline void Back(int ram, int pas = 1, double prod = 1) {
if(pas == n + 1 && ram > 0) return;
if(ram == 0) {
rasp += prod;
return;
}
Back(ram - 1, pas + 1, prod * v[pas]);
Back(ram , pas + 1, prod );
}
int main() {
ios_base::sync_with_stdio(false);
fin.tie(nullptr);
fout.tie(nullptr);
fin >> n >> k;
for(i = 1; i <= n; i++) fin >> v[i];
fact[0] = 1;
for(i = 1; i <= n; i++) fact[i] = i * fact[i - 1];
Back(k);
fout << setprecision(6) << fixed;
fout << fact[k] * rasp / fact[n];
return 0;
}