Cod sursa(job #149091)

Utilizator za_wolfpalianos cristian za_wolf Data 5 martie 2008 12:23:51
Problema Dezastru Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<stdio.h>
#define NMAX 31
long double p[NMAX],s,x[NMAX][NMAX];
long long i,j,k,l,a,n,c[NMAX][NMAX];
int main()
{
	freopen("dezastru.in","r",stdin);
	freopen("dezastru.out","w",stdout);
	scanf("%lld%lld",&n,&k);
	for (i=1;i<=n;i++)
		scanf("%llf",&p[i]);
	x[1][1]=p[1];
	c[1][1]=1;
	c[1][0]=1;
	x[1][0]=1;
	s=0;
	for (i=2;i<=n;i++)
		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("%.6llf\n",s);

    return 0;
}