Cod sursa(job #597032)

Utilizator Smaug-Andrei C. Smaug- Data 21 iunie 2011 00:03:49
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <cstdio>

#define MAXN 30

int N, K, cnt;
double A[MAXN], sum;

void comb(int l, int p, double F){

  if(p == K){
    cnt++;
    sum+=F;
  }
  else {
    for(int i=N-K+p+1; i>=l+1; i--)
      comb(i, p+1, A[i]*F);
  }

}

int main(){

  freopen("dezastru.in", "r", stdin);
  freopen("dezastru.out", "w", stdout);

  int i;

  scanf("%d%d", &N, &K);
  for(i=1; i<=N; i++)
    scanf("%lf", A+i);

  cnt=0; sum=0;
  comb(0, 0, 1);

  printf("%.6lf\n", sum/cnt);

  return 0;

}