Pagini recente » Cod sursa (job #2240911) | Cod sursa (job #2518877) | Cod sursa (job #115076) | Cod sursa (job #883650) | Cod sursa (job #1831867)
#include <iostream>
#include <fstream>
#include <cstdio>
using namespace std;
ifstream fin("dezastru.in");
///ofstream fout("dezastru.out");
FILE *fout=fopen("dezastru.out","w");
int i,n,k,st[30],f[30];
double v[30],p=1.0f,rez=0;
void back(int niv, double p)
{
int i;
for(i=st[niv-1]+1;i<=n;i++)
{
st[niv]=i;
///p*=v[i];
if(niv==k)
rez+=p*v[i];
else back(niv+1,p*v[i]);
}
}
int main()
{
fin>>n>>k;
f[1]=1;
for(i=2;i<=n;i++)
f[i]=f[i-1]*i;
for(i=1;i<=n;i++)
fin>>v[i];
back(1,1);
///fout<<rez/(f[n]/f[k]/f[n-k]);
fprintf(fout,"%.6f",rez/(f[n]/f[k]/f[n-k]));
return 0;
}