Cod sursa(job #63223)

Utilizator crawlerPuni Andrei Paul crawler Data 27 mai 2007 14:04:23
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <cstdio>
#include <bitset>

using namespace std;

double s[32], q, fact;
double a[32][32];


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

  int n,k, i,j;

  scanf("%d%d",&n,&k);
  for(i=1;i<=n;++i)
   scanf("%lf",&s[i]);

  for(i=1;i<=n;++i)
   a[i][1] = a[i-1][1] + s[i];

  for(i=2;i<=k;++i)
   for(j=1;j<=n;++j)
    a[j][i] = a[j-1][i] + a[j-1][i-1]*s[j];

  fact = 1;
  for(i=1;i<=k;++i)
   fact*=(double)(n-i+1)/i;

  printf("%.6f",a[n][k]/fact);

  return 0;
 }