Cod sursa(job #2345174)

Utilizator rares404AlShaytan - Balasescu Rares rares404 Data 15 februarie 2019 22:27:39
Problema Dezastru Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <bits/stdc++.h>

double rez;
double p[28];
int n, k;
int combs;

inline void bkt(int l, int lst, double curr) {
  if (l == k) {
    rez += curr ;
    ++ combs ;
    return ; }
  int i ;
  for (i = lst + 1 ; i <= n - k + l ; ++ i)
    bkt(l + 1, i, curr * p[i]) ; }

int main() {
  freopen("dezastru", "r", stdin) ;
  freopen("dezastru", "w", stdout) ;
  scanf("%d %d", &n, &k) ;
  int i ;
  for (i = 0 ; i < n ; ++ i)
    scanf("%lf", &p[i]) ;
  bkt(0, -1, 1.0) ;
  printf("%.6lf", rez / combs) ;
  return 0 ; }