Pagini recente » Cod sursa (job #1215718) | Cod sursa (job #1036838) | Cod sursa (job #554377) | Cod sursa (job #2230737) | Cod sursa (job #1712372)
#include <iostream>
#include <iomanip>
#include <fstream>
#include <map>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
map <long long,double> m;
long double v[30];
long long nr[30],n,i,q,k,nt,x1;
double s,st,x;
int main()
{
f>>n>>k;
nr[0]=1;
for(i=1; i<=n; ++i)
{
f>>x;
m[1<<(i-1)]=x;
nr[i]=nr[i-1]*i;
}
st=0;
nt=0;
for(x=0; x<(1<<n); ++x)
{
s=1;
q=0;
x1=x;
while(x1)
{
s*=m[x1^(x1&(x1-1))];
x1=x1&(x1-1);
++q;
}
if(q==k)
{
nt+=nr[k];
st+=s*nr[k];
}
}
g<<setprecision(7)<<fixed<<(double)st/nt;
}