Pagini recente » Cod sursa (job #2861726) | Cod sursa (job #191345)
Cod sursa(job #191345)
#include<stdio.h>
#define FIN "dezastru.in"
#define FOUT "dezastru.out"
#define dimST 25
#define dim1 100
int st[dimST],i,j,l,nr,n;
float v[dim1],sol;
void calc()
{
float x=1;
for(int i=1;i<=l;++i)
x=x*v[st[i]]*1.0;
sol+=x;
nr++;
}
int valid(int k)
{
for(register int i=1;i<k;++i)
if(st[i]==st[k])
return 0;
return 1;
}
void back(int k)
{
for(register int i=st[k-1]+1;i<=n;++i)
{
st[k]=i;
if(k==l)
{
if(valid(k))
calc();
}
else
back(k+1);
}
}
int main()
{
freopen(FIN,"r",stdin);
freopen(FOUT,"w",stdout);
scanf("%d%d",&n,&l);
for(register int i=1;i<=n;++i)
scanf("%f",&v[i]);
st[0]=0;
back(1);
sol=sol/nr*1.0;
printf("%.6f",sol);
return 0;
}