Pagini recente » Cod sursa (job #1487620) | Cod sursa (job #2499992) | Cod sursa (job #1599582) | Cod sursa (job #1363257) | Cod sursa (job #1470936)
#include <cstdio>
using namespace std;
int n,k,a[30];
long long fact;
double v[30];
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
int i,j,vmax;
double prob,prod;
prob = 0;
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++) scanf("%lf",&v[i]);
for(i=1;i<=k;i++) a[i] = i;
while(a[0]==0)
{
prod = 1;
for(i=1;i<=k;i++) prod*=v[a[i]];
fact+=2;
prob +=(prod);
prob +=(prod);
vmax = n;
i = k;
while(a[i]==vmax)
{
i--;
vmax--;
}
a[i]++;
for(j=i+1;j<=k;j++) a[j] = a[j-1]+1;
}
printf("%.6lf\n",prob/fact);
return 0;
}