Pagini recente » Cod sursa (job #520979) | Istoria paginii runda/wettbewerbssimulation4/clasament | Istoria paginii runda/sim_oni_2010_ziua1 | Istoria paginii runda/preoni_2018/clasament | Cod sursa (job #394056)
Cod sursa(job #394056)
#include <stdio.h>
int sol[16],k,n;
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]];
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/fact(k,n);
printf("%lf",sum);
return 0;
}