Pagini recente » Cod sursa (job #290765) | Cod sursa (job #2875932) | Cod sursa (job #562044) | Cod sursa (job #56271) | Cod sursa (job #1350380)
#include <fstream>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int n,k;
double p=1,s,v[30];
void bkt(int poz,int nr)
{
double aux=p;
if(nr>k)
s=s+p;
else
for(int i=poz;i<=n-(k-nr)+1;i++)
{
p=p*v[i];
bkt(i+1,nr+1);
p=aux;
}
}
long long comb(int n,int k)
{
long long fN=1,f=1;
for(int i=k+1;i<=n;i++)
fN=fN*i;
for(int i=k+1;i<=n-k;i++)
f=f*i;
return fN/f;
}
int main()
{
fin>>n>>k;
for(int i=1;i<=n;i++)
fin>>v[i];
bkt(1,1);
s=s/comb(n,k);
fout.precision(6);
fout<<fixed<<s<<'\n';
return 0;
}