Cod sursa(job #157434)

Utilizator pandaemonAndrei Popescu pandaemon Data 13 martie 2008 00:15:11
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.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("%d",&p[i]);

 pc2[1]=p[1]; c2[0]=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",(pc[k]/c[k]) );  return 0; }