Cod sursa(job #41182)

Utilizator VmanDuta Vlad Vman Data 28 martie 2007 00:16:38
Problema Dezastru Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdlib.h>
#include <stdio.h>
#define nmax 26

int n,k,l,i,j;
float p[nmax],a[2][nmax],c[2][nmax];

int main()
{
 freopen("dezastru.in","r",stdin);
 scanf("%d %d",&n,&k);
 for (i=1;i<=n;++i)
     scanf("%f",&p[i]);
 fclose(stdin);
 l=0;
 a[l][1]=p[1];
 a[l][0]=1;
 c[l][1]=1;
 for (i=2;i<=n;++i)
     {
     c[l][0]=1;
     l=1-l;
     for (j=1;(j<=i)&&(j<=k);++j)
         {
         a[l][j]=a[1-l][j]+a[1-l][j-1]*p[i];
         c[l][j]=c[1-l][j-1]+c[1-l][j];
         }
     }
 freopen("dezastru.out","w",stdout);
 printf("%.6f",a[l][k]/c[l][k]);
 fclose(stdout);
 return 0;
}