Pagini recente » Cod sursa (job #1187226) | Istoria paginii utilizator/horatiup | Cod sursa (job #1556619) | Monitorul de evaluare | Cod sursa (job #1933767)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n,k,v[30],d,l;
double val[30],rez[100003],s;
int main()
{
f>>n>>d;
for(int i=1;i<=n;++i)
{
f>>val[i];
}
k=1;
while(k>0)
{
if(v[k]<n)
{
++v[k];
if(k==d)
{
++l;
rez[l]=1;
for(int i=1;i<=k;++i)
{
rez[l]*=val[v[i]];
}
}
else
{
++k;
v[k]=v[k-1];
}
}
else
{
--k;
}
}
for(int i=1;i<=l;++i)
{
s+=rez[i];
}
for(int i=1;i<=d;++i)
{
s*=i;
}
for(int i=n-d+1;i<=n;++i)
{
s/=i;
}
g<<setprecision(6)<<s;
return 0;
}