Cod sursa(job #2608369)
Utilizator | Dragomir Robert. RobertLearnsC | Data | 1 mai 2020 10:03:42 |
---|---|---|---|
Problema | Dezastru | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.62 kb |
#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;
}