Pagini recente » Cod sursa (job #110310) | Cod sursa (job #411804) | Cod sursa (job #14213) | Cod sursa (job #1703729) | Cod sursa (job #1017256)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
const int Nmax = 30;
int N, M;
double A[Nmax][Nmax], P[Nmax];
long long C[Nmax][Nmax];
void gen()
{
A[0][0] = 1; C[0][0] = 1;
for ( int i = 1; i <= N; ++i )
{
A[i][0] = C[i][0] = 1;
}
for ( int i = 1; i <= N; ++i )
for ( int j = 1; j <= M; ++j )
{
C[i][j] = C[i - 1][j] + C[i - 1][j - 1];
A[i][j] = A[i - 1][j] + A[i - 1][j - 1] * P[i];
}
}
int main()
{
ifstream f("dezastru.in");
ofstream g("dezastru.out");
f >> N >> M;
for ( int i = 1; i <= N; ++i )
f >> P[i];
gen();
g << fixed << setprecision( 6 );
g << A[N][M] / C[N][M];
f.close();
g.close();
return 0;
}