Pagini recente » Cod sursa (job #463608) | Cod sursa (job #2658640) | Cod sursa (job #827396) | Cod sursa (job #2016659) | Cod sursa (job #173648)
Cod sursa(job #173648)
#include<stdio.h>
long s[2001],n,c,k,nr=0;
float v[200001],p,sfa[200001],sf,re;
void citire(long i)
{
if(i<=n)
{scanf("%f",&v[i]);
citire(i+1);
}
}
void back(long int k,float p)
{long int i,j;
int ok;
if(k==c)
{for(i=1;i<=c;i++)
p=p*v[s[i]];
nr++;
sfa[nr]=p;
}
else
{ for(i=1;i<=n;i++)
{ok=1;
for(j=1;j<=k;j++)
if(s[j]==i)
{ok=0;
break;
}
if(ok)
{s[k+1]=i;
back(k+1,p);
}
}
}
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%ld %ld",&n,&c);
citire(1);
back(0,1);
sf=0;
for(int i=1;i<=nr;i++)
sf=sfa[i]+sf;
re=sf/nr;
printf("%f",re);
return 0;
}