Pagini recente » Cod sursa (job #2936235) | Cod sursa (job #2574783) | Cod sursa (job #1090231) | Cod sursa (job #2003298) | Cod sursa (job #2071055)
#include <fstream>
#include <iomanip>
#include <algorithm>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int n,k,lop;
double v[50];
int x[50];
double s=0;
double e=0.000000000001;
void bkt()
{
int k1=1;
x[1]=0;
while(k1)
{
if(x[k1]<n)
{
x[k1]++;
if(k1==k)
{
double prod=1;
for(int i=1;i<=k;i++)
{
prod*=v[x[i]];
}
for(int i=2;i<n;i++)
{
prod*=i;
}
for(int i=1;i<=n;i++)
{
prod=(double)prod/i;
}
s+=prod+e;
}
else
{
k1++;
x[k1]=x[k1-1];
}
}
else
{
k1--;
}
}
}
int main()
{
fin>>n>>k;
lop=n-k;
for(int i=1;i<=n;i++)
{
fin>>v[i];
}
long long pr=1;
bkt();
fout<<setprecision(6)<<fixed;
fout<<s;
return 0;
}