Pagini recente » Cod sursa (job #1618681) | Cod sursa (job #2307328) | Cod sursa (job #952936) | Cod sursa (job #1063044) | Cod sursa (job #1350387)
#include <fstream>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int n,k,i,j;
double a[30],s=0,prod=1.0;
int backtrack(int er,int qw)
{
double cprod=0.000000000;
if(n-er+1<qw)
{
return 0;
}
if(qw==0)
{
s+=prod;
return 0;
}
for(int i=er;i<=n-qw+1;i++)
{
cprod=prod;
prod=prod*a[i];
backtrack(i+1,qw-1);
prod=cprod;
}
return 0;
}
int main()
{
fin>>n>>k;
for(i=1;i<=n;i++)
fin>>a[i];
backtrack(1,k);
for(i=1;i<=n-k;i++)
s=s*i;
for(i=k+1;i<=n;i++)
s/=i;
fout.precision(6);
fout<<fixed<<s;
return 0;
}