Pagini recente » Cod sursa (job #1037048) | Cod sursa (job #2331948) | Cod sursa (job #2244989) | Cod sursa (job #1528466) | Cod sursa (job #953566)
Cod sursa(job #953566)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int n, m;
long double p[27], a[27][27], rez;
int main()
{
fin>>n>>m;
for(int i=1; i<= n; i++)
fin>>p[i];
a[0][0] = 1;
for(int i=1; i<=n; i++)
{
a[i][0] = 1;
for(int j=1; j<=m; j++)
a[i][j] = a[i-1][j] + a[i-1][j-1] * p[i];
}
unsigned long long nr = 1, k=1, comb;
for(int i=n; n-i<m; i--)
nr *= (unsigned long long)i;
for(int i=m; i>1; i--)
k *= (unsigned long long)i;
comb = nr/k;
rez = (long double)(a[n][m] / comb);
fout<<setprecision(12)<<fixed<<rez;
return 0;
}