Pagini recente » Cod sursa (job #1847349) | Cod sursa (job #1414687) | Cod sursa (job #1308797) | Cod sursa (job #714605) | Cod sursa (job #889517)
Cod sursa(job #889517)
#include <fstream>
using namespace std;
ifstream in ("dezastru.in");
ofstream out ("dezastru.out");
#define n 26
int N, K;
double p[n], dp[n][n];
long double solve (int nr)
{
long double rez = 1;
for (int i = 1; i <= nr; i++)
{
rez *= i;
}
return rez;
}
int main()
{
int i, j;
in >> N >> K;
for (i = 1; i <= N; i++)
{
in >> p[i];
dp[i][0] = 1;
}
dp[0][0] = 1;
for (i = 1; i <= N; i++)
{
for (j = 1; j <= i; j++)
{
dp[i][j] = dp[i - 1][j - 1] * p[i] + dp[i - 1][j];
}
}
long double combinari = solve (N)/(solve (N - K) * solve (K));
out.precision(6);
out << dp[N][K] / combinari;
return 0;
}