Pagini recente » Cod sursa (job #44126) | Cod sursa (job #255347) | Cod sursa (job #729984) | Cod sursa (job #911911) | Cod sursa (job #304996)
Cod sursa(job #304996)
#include<stdio.h>
int n,k,j,l,st[26];
long long num=1;
float s,pr,p[26];
void numar()
{
int i;
for(i=1;i<=k;++i)
num=num*(n-k+i);
}
int succesor()
{
if(st[j]<n)
{
st[j]++;
return 1;
}
return 0;
}
void solve()
{
int i;
pr=1;
for(i=1;i<=k;++i)
pr=pr*p[st[i]];
s+=pr;
}
void backt()
{
int as;
j=1;
while(j>0)
{
as=succesor();
if(as)
{
if(j==k)
solve();
else
{++j;
st[j]=st[j-1];
}
}
else
--j;
}
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d%d",&n,&k);
int i;
pr=1;
for(i=1;i<=n;++i)
scanf("%f",&p[i]);
backt();
numar();
num=num/2;
s=s/num;
printf("%.6f\n",s);
return 0;
}