Pagini recente » Diferente pentru problema/retele intre reviziile 3 si 7 | Cod sursa (job #2125542) | Cod sursa (job #3252026) | Monitorul de evaluare | Cod sursa (job #2608369)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("dezastru.in");
ofstream out("dezastru.out");
int n, k, ind[35], divis;
double v[35], sum;
void bkt(int index, double product) {
for(int i = ind[index - 1] + 1; i <= n; i++) {
ind[index] = i;
if(index == k) {
sum += product * v[ind[index]];
divis++;
} else {
bkt(index + 1, product * v[ind[index]]);
}
}
}
int main() {
in >> n >> k;
for(int i = 1; i <= n; i++) {
in >> v[i];
}
bkt(1, 1);
out << (double)sum / divis << endl;
return 0;
}