Cod sursa(job #91815)

Utilizator the1dragonIonita Alexandru the1dragon Data 13 octombrie 2007 15:15:07
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<stdio.h>
float a[32][32], pr[32];
int c[32][32];

int main()
{
	freopen("dezastru.in", "r", stdin);
	freopen("dezastru.out", "w", stdout);
	int i, j, n, k;
	float ss=1;
	scanf("%d %d", &n, &k);
	for (i=1; i<=n; i++)
		scanf("%f", &pr[i]);
	c[1][1]=1;
	for (i=2; i<=n+1; i++)
		for (j=1; j<=i; j++)
			c[i][j]=c[i-1][j]+c[i-1][j-1];
	for (i=0; i<=n; i++)
		a[i][0]=1;
	for (i=1; i<=n; i++)
		for (j=1; j<=i; j++)
			a[i][j]=a[i-1][j]+a[i-1][j-1]*pr[i];
	ss=ss/c[n+1][k+1];
	printf("%f\n", a[n][k]*ss);
//	for (i=1; i<=n; i++)
//	{
//		for (j=1; j<=i; j++)
//			printf("%.9f ", a[i][j]);
//		printf("\n");
//	}	
	return 0;
}