Pagini recente » Cod sursa (job #2469279) | Cod sursa (job #2880471) | Cod sursa (job #1405326) | Cod sursa (job #1335962) | Cod sursa (job #1566248)
#include <fstream>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int n, k;
double v[28], a[28][28];
int cmb();
int main() {
fin >> n >> k;
for (int i = 1; i <= n; i++)
fin >> v[i];
a[1][0] = 1;
a[1][1] = v[1];
for (int i = 2; i <= n; i++)
{
a[i][0] = 1;
for (int j = 1; j <= min(k, i); j++)
a[i][j] = a[i - 1][j] + v[i] * a[i - 1][j - 1];
}
fout << a[n][k] / cmb();
fin.close();
fout.close();
return 0;
}
int cmb() {
int c = 1;
for (int i = max(k, n - k) + 1; i <= n; i++)
c *= i;
for (int i = 2; i <= min(k, n - k); i++)
c /= i;
return c;
}