Pagini recente » Cod sursa (job #1461106) | Cod sursa (job #1516419) | Cod sursa (job #2051371) | Cod sursa (job #2078695) | Cod sursa (job #2507251)
#include<fstream>
using namespace std;
ifstream in("dezastru.in");
ofstream out("dezastru.out");
const int NMax = 25;
int N, K;
float arr[NMax+5], f[NMax+5], DP[NMax+5][NMax+5];
void Solve() {
f[0] = 1;
for (int i = 1; i <= N; i++)
f[i] = i * f[i-1];
DP[0][0] = 1;
for (int i = 1; i <= N; i++) {
DP[i][0] = 1;
for (int j = 1; j <= i; j++)
DP[i][j] = DP[i-1][j] + DP[i-1][j-1]*arr[i];
}
out << DP[N][K]*f[K]*f[N-K]/f[N];
}
int main() {
in >> N >> K;
for (int i = 1; i <= N; i++)
in >> arr[i];
Solve();
}