Pagini recente » Cod sursa (job #2474612) | Rating Opran Alexandru (Alex.QTK10) | Cod sursa (job #2208705) | Cod sursa (job #2132264) | Cod sursa (job #744805)
Cod sursa(job #744805)
#include<cstdio>
#include<fstream>
using namespace std;
int n,k1,x[30],nrc;
double p[30],probfinal;
inline void back(int k,double prob)
{
if(k>k1)
{
probfinal=probfinal+prob;
++nrc;
}
else
for(int i=x[k-1]+1;i<=n-k1+k;++i)
{
x[k]=i;
back(k+1,prob*p[i]);
}
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d%d",&n,&k1);
for(int i=1;i<=n;++i)
scanf("%lf",&p[i]);
back(1,1.0);
//out<<(1.0*probfinal)/(1.0*nrc);
printf("%lf",(1.0*probfinal)/(1.0*nrc));
return 0;
}