Pagini recente » Cod sursa (job #2238633) | Cod sursa (job #182171) | Cod sursa (job #496085) | Cod sursa (job #1155959) | Cod sursa (job #2108925)
#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;
}