Pagini recente » Cod sursa (job #1886726) | Cod sursa (job #1817014) | Cod sursa (job #97462) | Cod sursa (job #3206550) | Cod sursa (job #2247033)
#include <algorithm>
#include <fstream>
double dp[2 + 25][2 + 25];
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];
dp[0][0] = 1;
for (int nr = 1; nr <= k; nr++)
for (int i = 1; i <= n; i++)
for (int j = 0; j < i; j++)
dp[nr][i] += dp[nr - 1][j] * p[i] * nr / (n - nr + 1);
double sol = 0;
for (int i = 1; i <= n; i++)
sol += dp[k][i];
fout << sol;
return 0;
}