Pagini recente » Cod sursa (job #2430367) | Cod sursa (job #934352) | Cod sursa (job #274011) | Cod sursa (job #281399) | Cod sursa (job #2504683)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
double ans;
int n, k, nr;
void bkt ( int p1, int p2, double c, double p[]){
if ( p1 == k ){
ans += c;
nr++;
return;
}
for ( int i = p2 + 1; i <= n - k + p1 + 1; i++)
bkt (p1 + 1, i, c * p[i], p);
}
int main (){
ifstream in ("dezastru.in");
in >> n >> k;
double p[n + 2];
for (int i = 1; i <= n; i++ )
in >> p[i];
in.close();
bkt (0, 0, 1, p);
ofstream out ("dezastru.out");
out << setprecision(6) << ans / nr;
out.close();
return 0;
}
/********/