Pagini recente » Cod sursa (job #1939331) | Cod sursa (job #2715740) | Cod sursa (job #1135141) | Cod sursa (job #1778175) | Cod sursa (job #1033030)
#include <cstdio>
int st[26], k, n, cate;
double v[26], s;
int valid(int x){
int i;
for(i=1; i<x; ++i)
if(st[i]==st[x])
return 0;
return 1;
}
void back(int x){
int i, j;
float sum=1;
if(x==k+1){
++cate;
for(i=1; i<=k; ++i)
sum=sum*float(v[st[i]]);
s+=sum;
}
else
for(i=1; i<=n; ++i){
st[x]=i;
if(valid(x)==1)
back(x+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]);
back(1);
s=s/float(cate);
printf("%lf", s);
return 0;
}