Cod sursa(job #39396)

Utilizator ionescu_bogdanIonescu Bogdan-Gabriel ionescu_bogdan Data 26 martie 2007 18:15:33
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define nmax 32

int n,k,i,j,l;
double p[nmax],a[nmax][nmax],sol;
int nr[nmax][nmax],nn;

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]);
	memset(a,0,sizeof(a));
	a[0][0]=nr[0][0]=1;
	for (i=1;i<=k;i++)
		for (j=1;j<=n;j++)
			for (l=0;l<j;l++)
				nr[i][j]+=nr[i-1][l],a[i][j]+=a[i-1][l]*p[j];
	for (i=1;i<=n;i++)
		sol+=a[k][i],nn+=nr[k][i];
	printf("%lf\n",sol/nn);

	return 0;
}