Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Istoria paginii runda/8ihpregatire | Cod sursa (job #190065) | Cod sursa (job #1933769)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n,k,v[30],d,l;
long double val[30],rez[1000003],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;
}