Cod sursa(job #149096)

Utilizator za_wolfpalianos cristian za_wolf Data 5 martie 2008 12:29:17
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>
#define NMAX 31
double p[NMAX],s,x[NMAX][NMAX],c[NMAX][NMAX];
long i,j,k,l,a,n;
int main()
{
	freopen("dezastru.in","r",stdin);
	freopen("dezastru.out","w",stdout);
	scanf("%ld%ld",&n,&k);
	for (i=1;i<=n;i++)
		scanf("%lf",&p[i]);
	x[1][1]=p[1];
	c[1][1]=1;
	c[1][0]=1;
	x[1][0]=1;
	s=0.0;
	for (i=2;i<=n;i++)
	{
		x[i][0]=1;
		c[i][0]=1;
		for (j=1;j<=k&&j<=i;j++)
		{
			x[i][j]=x[i-1][j]+x[i-1][j-1]*p[i];
			c[i][j]=c[i-1][j-1]+c[i-1][j];
		}
	}
	s=x[n][k]/c[n][k];
	printf("%.6lf\n",s);

    return 0;
}