Cod sursa(job #159969)

Utilizator swift90Ionut Bogdanescu swift90 Data 14 martie 2008 16:23:10
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<stdio.h>
int n,k;
double nr[32],sol[32][32],c[32][32],sum;
int main(){
	freopen("dezastru.in","r",stdin);
	freopen("dezastru.out","w",stdout);
	int i,j;
	scanf("%d%d",&n,&k);
	for(i=1;i<=n;++i)
		scanf("%lf",&nr[i]);
	
	
	sol[1][1]=nr[1];
	c[1][1]=1;
	c[1][0]=sol[1][0]=1;
	
	for(i=2;i<=n;++i){
		sol[i][0]=c[i][0]=1;
		for(j=1;j<=k && j<=i;++j){
			sol[i][j]=sol[i-1][j]+sol[i-1][j-1]*nr[i];
			c[i][j]=c[i-1][j]+c[i-1][j-1];
		}
	}
	
	sum=sol[n][k]/c[n][k];
	
	printf("%.6lf\n",sum);
	
	fclose(stdin);
	fclose(stdout);
	return 0;
}