Cod sursa(job #983115)
#include<iostream>
using namespace std;
#include<fstream>
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n,k,i,j,u;
float a[26],c[26][26],t;
unsigned long nfact=1,kfact=1,ufact=1;
int main()
{
f>>n>>k;
for(i=1;i<=n;i++)
f>>a[i];
c[0][0]=1;
for(i=0;i<=n;i++)
c[i][0]=1;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
c[i][j]=c[i-1][j]+c[i-1][j-1]*a[i];
for(i=1;i<=n;i++)
nfact*=i;
for(i=1;i<=k;i++)
kfact*=i;
u=n-k;
for(i=1;i<=u;i++)
ufact*=i;
t=nfact/(kfact*ufact);
g<<("%.6f",c[n][k]/t);
g.close();
}