Pagini recente » Cod sursa (job #537331) | Cod sursa (job #2915051) | Cod sursa (job #2363239) | Cod sursa (job #2120372) | Cod sursa (job #2376190)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int n,m,k,stiva[26],fact=1;
float pb,p[26];
int factorial(int k)
{
if(k<=n) {fact=fact*k;factorial(k+1);}
else return fact;
}
void bt(int k)
{
for(int i=stiva[k-1]+1;i<=n;i++)
{
stiva[k]=i;
if(k==m)
{
//for(int j=1;j<=m;j++) fout<<p[stiva[j]]<<" ";
float c=1;
for(int j=1;j<=m;j++) c=c*p[stiva[j]];
pb=pb+2*c;
//fout<<c/fact<<'\n';
}
else bt(k+1);
}
}
int main()
{
fin>>n>>m;
for(int i=1;i<=n;i++) fin>>p[i];
bt(1);
fout<<pb/factorial(1);
return 0;
}