Pagini recente » Cod sursa (job #78154) | Cod sursa (job #793612)
Cod sursa(job #793612)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
//ifstream fin("f.in");
//ofstream fout("f.out");
long long x, j, n, i, k, nr;
float s, p[26], a[30][30];
long long combinari(long long n,long long k)
{
long long x=1, i;
if(n > 2 * k) return combinari(n, n-k);
for(i = k + 1; i <= n; ++i) x *= i;
for(i = 2; i <= n - k; ++i) x /= i;
return x;
}
int main()
{
fin >> n >> k;
for(i = 1; i <= n; ++i) fin >> p[i];
a[0][0] = 1;
for(i = 1; i <= n; ++i)
{
a[i][0] = 1;
for(j = 1; j <= i; ++j) a[i][j] = a[i - 1][j] + a[i - 1][j - 1] * p[i];
}
x = combinari(n, k);
fout.precision(6);
fout << a[n][k] / x;
return 0;
}