Cod sursa(job #2247033)

Utilizator vladisimovlad coneschi vladisimo Data 27 septembrie 2018 19:55:10
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#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;
}