Pagini recente » Cod sursa (job #2667353) | Cod sursa (job #2028634) | Cod sursa (job #200177) | Cod sursa (job #2726680) | Cod sursa (job #2289889)
//
// Dezastru.cpp
//
//
// Created by Raoul Bocancea on 25/11/2018.
//
#include <fstream>
#include <iomanip>
const std :: string programName = "dezastru";
std :: ifstream f(programName + ".in");
std :: ofstream g(programName + ".out");
int N, K;
double answer, product(1), v[30], dp[30][30];
void read(void);
void dynamic(void);
int main(void) {
read();
dynamic();
g << std :: fixed << std :: setprecision(6) << answer / product << '\n';
return 0x0;
}
void read(void) {
f >> N >> K;
for (int i = 1; i <= N; ++i)
f >> v[i];
}
void dynamic() {
for (int i = 0; i <= N; ++i)
dp[i][0] = 1;
for (int i = 1; i <= N; ++i)
for (int j = 1; j <= K; ++j)
dp[i][j] = dp[i - 1][j] + v[i] * dp[i - 1][j - 1];
answer = dp[N][K];
for (double i = 1.0; i <= N; ++i) {
product *= i;
if (i <= K)
product /= i;
if (i <= N - K)
product /= i;
}
}