Cod sursa(job #317548)

Utilizator aladinaladin aladinn aladin Data 23 mai 2009 21:24:23
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
   #include<stdio.h>    
   
  long comb(int n,int k)  
 {  
   long produs=1;  
   for(int i=1;i<=k;i++)  
     produs = produs * (n-i+1) / i;  
   return produs;  
 }  
   
   int main()    
    {int j,i,m,n;     
	 double a[30][30],p[30],q=0,w;
     freopen("dezastru.in","r",stdin);    
     freopen("dezastru.out","w",stdout);    
     scanf("%d%d",&n,&m);   
	 for (i=1;i<=n;i++) scanf("%lf",&p[i]);
     a[0][0]=1; a[1][0]=1;  
     for (i=1;i<=n;i++) 
	 {a[i][0]=1; 
	  for (j=1;j<=i;j++)
        if (j<=m)  a[i][j]=a[i-1][j]+a[i-1][j-1]*p[i];
        else break;  
	 }
	
	 printf("%.7lf",a[n][m]/ comb(n,m));  
	
     return 0;    
     }