Pagini recente » Cod sursa (job #2261118) | Cod sursa (job #1770909) | Cod sursa (job #1028009) | Istoria paginii runda/tot_2/clasament | Cod sursa (job #1218081)
#include <cstdio>
#include <cstring>
using namespace std;
void openIOFiles()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
}
float A[30],produs(1),sol(0),fact(1);
int i,j,n,St[30],p;
void combinari(int k)
{
int i;
if (k-1==p){
produs=1;
for (i=1;i<=p;++i) produs*=A[St[i]];
sol+=produs;
}
else
for (i=St[k-1]+1;i<=n;++i){
St[k]=i;
combinari(k+1);
}
}
int main()
{
openIOFiles();
scanf("%d%d",&n,&p);
for (i=1;i<=n;++i) scanf("%f",&A[i]);
combinari(1);
float aux=p;
for (i=1;i<=n;++i) fact*=i;
printf("%f",sol*2/fact);
return 0;
}