Pagini recente » Cod sursa (job #150279) | Cod sursa (job #2709021) | Cod sursa (job #146336) | Cod sursa (job #210202) | Cod sursa (job #559244)
Cod sursa(job #559244)
#include <cstdio>
const int NMAX=30;
float attacks[NMAX];
int v[NMAX];
int n,p,nCombinations;
double sol;
inline void comb(int k){
int i=0;
if (k == p+1){
double s=1;
for (i=1; i<=p; ++i)
s*=attacks[v[i]];
sol+=s;
++nCombinations;
}
else{
for (i=v[k-1]+1; i<=n-p+k; ++i){
v[k]=i;
comb(k+1);
}
}
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d%d",&n,&p);
for (int i=1; i<=n; ++i)
scanf("%f",&attacks[i]);
comb(1);
printf("%.6lf\n",sol/nCombinations);
return 0;
}