Pagini recente » Cod sursa (job #548798) | Cod sursa (job #2873681) | Cod sursa (job #2582093) | Cod sursa (job #55377) | Cod sursa (job #2156228)
#include <bits/stdc++.h>
using namespace std;
int n,k,i,j,lim;
double t[26],s;
vector <int> v;
int fq(int n)
{
int q=1;
for (int i=1; i<=n; i++)
q*=i;
return q;
}
double prq()
{
double pr=t[v[0]];
for (int i=1; i<k; i++)
pr*=t[v[i]];
return pr;
}
int main()
{
ifstream cin("dezastru.in");
ofstream cout("dezastru.out");
cin>>n>>k;
for (i=1; i<=n; i++)
cin>>t[i];
lim=1<<n;
int fqt=fq(n);
for(i=1;i<lim;i++)
{
v.clear();
for(j=1;j<=n;j++)
if(i&(1<<(j-1))) v.push_back(j);
if (v.size()==k) { s=s*1.0+(prq()/fqt)*fq(k); }
}
cout<<setprecision(6)<<fixed<<s;
}