Pagini recente » Cod sursa (job #1220105) | Cod sursa (job #1410399) | Cod sursa (job #1286270) | Cod sursa (job #839521) | Cod sursa (job #807586)
Cod sursa(job #807586)
#include <fstream>
#include <iostream>
#include <iomanip>
using namespace std;
#define NMAX 32
int N, K;
double P[NMAX];
double S[NMAX][NMAX];
int C[NMAX][NMAX];
int main()
{
ifstream in("dezastru.in");
ofstream out("dezastru.out");
in >> N >> K;
for(int i = 1; i <= N; ++i)
{
in >> P[i];
}
S[1][1] = P[1];
for(int i = 2; i <= N; ++i)
S[i][1] = S[i-1][1] + P[i];
for(int i = 2; i <= N; ++i)
for(int j = 2; j <= K; ++j)
{
S[i][j] = S[i-1][j] + S[i-1][j-1] * P[i];
}
double res = 1, imp = 1;
for(int i = K + 1; i <= N; ++i)
res *= i;
for(int i = 1; i <= N - K; ++i)
imp *= i;
res /= imp;
double result = S[N][K] / res;
setprecision(7);
out << result;
return 0;
}