Pagini recente » Borderou de evaluare (job #2705655) | Cod sursa (job #2708891)
#include <fstream>
#include <vector>
#include <algorithm>
#include <iomanip>
using namespace std;
ifstream be("dezastru.in");
ofstream ki("dezastru.out");
int a[20],n,k,fact;
double pkedv=0,x[26],prodall,sol;
bool fordit;
void bt(int j,double prod)
{
if(j>k)
{
sol+=prod;
fact++;
return;
}
else {
for(int i=a[j-1]+1;i<=n;i++)
{
a[j]=i;
bt(j+1,prod*x[i]);
}
}
}
int main()
{
be>>n>>k;
for(int i=1;i<=n;i++)
be>>x[i];
bt(1,1);
sol=sol/fact;
ki<<setprecision(17)<<sol<<endl;
return 0;
}