Cod sursa(job #157442)

Utilizator pandaemonAndrei Popescu pandaemon Data 13 martie 2008 00:24:25
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<stdio.h>
#include<iostream.h>
		       /// RECURENTA1: pc[j]=pc2[j]+pc2[j-1]*p[i] ///
#define LMAX 26        /// RECURENTA2: c[j]=c2[j]+c2[j-1];

int n,k,i,j,d;
double p[LMAX],pc[LMAX],c[LMAX];
double pc2[LMAX],c2[LMAX];

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

 scanf("%d %d",&n,&k);

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

 pc2[1]=p[1]; c2[0]=c2[1]=pc2[0]=1;

 for(i=2;i<=n;i++)
		    {
 for(j=1;j<=i && j<=k;j++)

 {pc[j]=pc2[j]+pc2[j-1]*p[i];
  c[j]=c2[j]+c2[j-1]; }

 for(d=1;d<=i;d++)
 {pc2[d]=pc[d]; c2[d]=c[d];}

		    }
                           

 printf( "%.6lf\n",(pc2[k]/c2[k]) );  return 0; }