Pagini recente » Cod sursa (job #1142522) | Cod sursa (job #1321494) | Borderou de evaluare (job #288519) | Cod sursa (job #975911) | Cod sursa (job #37793)
Cod sursa(job #37793)
#include<stdio.h>
long double sol[3001],x[3001],sum,n,num;
long step,k,nsol,st[31],nr,i;
void back(int step)
{
int i;
if (step-1==k)
{
sol[++nsol]=1;
for (int i=1;i<=k;i++)
sol[nsol]*=x[st[i]];
sum+=sol[nsol];
num++;
}
else
{
for (int c=st[step-1]+1;c<=nr;c++)
{
st[step]=c;
back(step+1);
}
}
}
int main()
{
freopen ("dezastru.in","rt",stdin);
freopen ("dezastru.out","wt",stdout);
scanf("%ld %ld",&nr,&k);
for (i=1;i<=nr;i++)
scanf("%lf",&x[i]);
back(1);
printf("%.6Lf\n",sum/num);
return 0;
}