Cod sursa(job #2246455)
| Utilizator | Data | 27 septembrie 2018 09:28:05 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <algorithm>
#include <fstream>
int main() {
std::ifstream fin("dezastru.in");
std::ofstream fout("dezastru.out");
int n, k;
fin >> n >> k;
double p[2 + n];
for (int i = 1; i <= n; i++)
fin >> p[i];
double sum = 0;
do {
double prod = 1;
for (int i = 1; i <= k; i++)
prod *= p[i];
sum += prod;
} while (std::next_permutation(p + 1, p + n + 1));
for (int i = 1; i <= n; i++)
sum /= i;
fout << sum;
return 0;
}
