Pagini recente » Cod sursa (job #1211224) | Cod sursa (job #1573708) | Cod sursa (job #1763978) | Cod sursa (job #1344441) | Cod sursa (job #394058)
Cod sursa(job #394058)
#include <stdio.h>
int sol[16],k,n;
long long cnt;
double v[26],sg,sum;
long long fact(int y,int x)
{
long long a=1;
for(int i=y+1;i<=x;++i)
a*=i;
return a;
}
void edit()
{
double pg=1;
for(int i=1;i<=k;++i)
pg*=v[sol[i]];
cnt++;
sg += pg;
//printf("%lf sg=%lf\n",pg,sg);
}
void bkt(int p)
{
if (p==k+1)
{
edit();
return;
}
for (int i=sol[p-1]+1;i<=n;++i)
{
sol[p]=i;
bkt(p+1);
}
}
int main()
{
freopen( "dezastru.in","r",stdin );
freopen( "dezastru.out","w",stdout );
scanf("%d%d",&n,&k);
for(int i=1;i<=n;++i)
scanf("%lf",&v[i]);
bkt(1);
sum=sg/cnt;
printf("%lf",sum);
return 0;
}