Pagini recente » Cod sursa (job #2820906) | Cod sursa (job #44746) | Cod sursa (job #2638948) | Cod sursa (job #2440198) | Cod sursa (job #2921484)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
const int MaxN = 30;
int C[MaxN][MaxN];
int n, k;
double a[MaxN], sol[MaxN][MaxN];
void Make_Comb()
{
for(int i = 0; i <= n; i++)
C[i][0] = 1;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= k; j++)
C[i][j] = C[i-1][j] + C[i-1][j-1];
}
int main()
{
fin >> n >> k;
for(int i = 1; i <= n; i++)
fin >> a[i];
for(int i = 0; i <= n; i++)
sol[i][0] = 1;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= k; j++)
sol[i][j] = sol[i - 1][j] + sol[i - 1][j - 1] * a[i];
Make_Comb();
fout << fixed << setprecision(6) << sol[n][k] / (double) C[n][k];
return 0;
}