Pagini recente » Cod sursa (job #1723283) | Cod sursa (job #2848836) | Cod sursa (job #1462305) | Cod sursa (job #749439) | Cod sursa (job #1023761)
#include <fstream>
using namespace std;
ifstream fin ("dezastru.in");
ofstream fout ("dezastru.out");
const int N = 27;
long double ap[N], v[N], d[N][N];
int n, k, f[N];
int main() {
fin >> n >> k;
f[0] = 1;
for (int i = 1; i <= n; ++i) {
fin >> v[i];
f[i] = f[i-1] * i;
}
d[0][0] = 1;
for (int i = 1; i <= n; ++i) {
d[i][0] = 1;
for (int j = 1; j <= n; ++j)
d[i][j] = d[i-1][j] + d[i-1][j-1] * v[i];
}
ap[1] = f[n] / n;
ap[n] = f[n];
if (k != n)
for (int i = 2; i <= k; ++i)
ap[i] = ap[i - 1] * i / (n - i + 1);
fout << d[n][k] * ap[k] / f[n];
}