Pagini recente » Cod sursa (job #2829509) | Cod sursa (job #2463206) | Cod sursa (job #3244424) | Cod sursa (job #2547660) | Cod sursa (job #2525206)
#include <fstream>
#include <iomanip>
using namespace std;
ifstream cin("dezastru.in");
ofstream cout("dezastru.out");
int n,k;
float pb[30],newp,sol,nr;
int v[30];
void construct(int p,float prob)
{
if(p==k+1)
{
sol+=prob;
nr+=1.0;
return ;
}
for(int i=v[p-1]+1;i<=n;++i)
{
newp=prob*pb[i];
v[p]=i;
construct(p+1,newp);
}
}
int main()
{
cin>>n>>k;
for(int i=1;i<=n;++i)
cin>>pb[i];
construct(1,1.0);
cout<<setprecision(7)<<sol/nr;
return 0;
}