Pagini recente » Cod sursa (job #1115060) | Cod sursa (job #1902064) | Cod sursa (job #1785643) | Cod sursa (job #2327861) | Cod sursa (job #1729045)
# include <bits/stdc++.h>
using namespace std;
const int Nmax = 25 + 5;
int n, m, i, j;
int C[Nmax][Nmax];
double D[Nmax][Nmax], a[Nmax];
int main ()
{
freopen("dezastru.in", "r", stdin);
freopen("dezastru.out", "w", stdout);
scanf("%d %d\n", &n, &m);
for (i = 1; i <= n; ++i)
scanf("%lf ", &a[i]);
//permutari sume
D[0][0] = 1;
for (i = 1; i <= n; ++i)
{
D[i][0] = 1;
for (j = 1; j <= i; ++j)
D[i][j] = D[i-1][j] + a[i] * D[i-1][j-1];
}
//nr combinari
C[0][0] = 1;
for (i = 1; i <= n; ++i)
{
C[i][0] = 1;
for (j = 1; j <= m; ++j)
C[i][j] = C[i-1][j] + C[i-1][j-1];
}
double ans = (D[n][m] / C[n][m]);
printf("%.6lf", ans);
return 0;
}