Cod sursa(job #2504683)

Utilizator miruna1224Floroiu Miruna miruna1224 Data 5 decembrie 2019 13:00:25
Problema Dezastru Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;



double ans;
int n, k, nr;


void bkt ( int p1, int p2, double c, double p[]){
  if ( p1 == k ){
    ans += c;
    nr++;
    return;
  }
  for ( int i = p2 + 1; i <= n - k + p1 + 1; i++)
      bkt (p1 + 1, i, c * p[i], p);
}



int main (){

  ifstream in ("dezastru.in");
  in >> n >> k;
  double p[n + 2];
  for (int i = 1; i <= n; i++ )
    in >> p[i];
  in.close();

  bkt (0, 0, 1, p);


  ofstream out ("dezastru.out");
  out << setprecision(6) << ans / nr;
  out.close();

  return 0;
}





/********/