Pagini recente » Cod sursa (job #2079566) | Cod sursa (job #2616784) | Cod sursa (job #2644932) | Cod sursa (job #178430) | Cod sursa (job #1806506)
#include <bits/stdc++.h>
using namespace std;
int n,k;
double a[100],din[100][100];
int main()
{
freopen("dezastru.in", "r", stdin);
freopen("dezastru.out", "w", stdout);
scanf("%d %d\n", &n, &k);
for(int i = 1; i<=n; ++i)
scanf("%lf", &a[i]);
din[0][0] = 1;
for (int i = 1; i<=n; ++i)
{
din[i][0] = 1;
for (int j = 1; j<=i; ++j)
din[i][j] = din[i-1][j] + din[i-1][j-1] * a[i];
}
unsigned long long p1 = 1,p2=1,p3=1;
for (int i = 1; i<=n; ++i)
p1 *= i;
for (int j = 1; j<=k; ++j)
p2 *= j;
for (int i = 1; i<=n-k; ++i)
p3 *= i;
unsigned long long nrcomb = 0;
nrcomb = p1/p2;
nrcomb /= p3;
printf("%.6f", din[n][k]/nrcomb);
return 0;
}