Cod sursa(job #305022)

Utilizator dya_ndmNanuti Diana-Maria dya_ndm Data 15 aprilie 2009 23:16:09
Problema Dezastru Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<stdio.h>
int n,k,j;
long long num=1;
float s=1,p[26],st[26][26];

void numar()
{
int i;
for(i=1;i<=k;++i)
   num=num*(n-k+i);
}

int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);

scanf("%d%d",&n,&k);

int i;

for(i=1;i<=n;++i)
   {
   scanf("%f",&p[i]);
   st[i][0]=1;
   s=s*p[i];   
   } 
if(n==k)
  printf("%.6f\n",s);
else
{   
st[0][0]=1;
for(i=1;i<=n;++i)
   for(j=1;j<=i;++j)
      st[i][j]=st[i-1][j]+st[i-1][j-1]*p[i];

numar();
num=num/2;
s=st[n][k]/num;
printf("%.6f\n",s);
}
return 0;
}