Cod sursa(job #2159242)
Utilizator | Login Iustin Anca login | Data | 10 martie 2018 20:25:37 |
---|---|---|---|
Problema | Dezastru | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.61 kb |
# include <fstream>
# include <iostream>
# define DIM 32
using namespace std;
int n, k;
double p[DIM];
double s = 0;
int c = 0;
void back (double pp, int i, int l) {
if (l == k) {
s += pp;
++c;
return;
}
for (++i;i < n;++i) {
back(pp * p[i], i, l + 1);
}
}
int main() {
ifstream fin ("dezastru.in");
ofstream fout ("dezastru.out");
int inv = 0;
fin>>n>>k;
if (n - k < k) {
inv = 1;
k = n - k;
}
for(int i = 0; i < n; ++i) {
fin>>p[i];
p[i] = 1 - p[i];
}
back(1, -1, 0);
fout<<s/c;
return 0;
}