Pagini recente » Cod sursa (job #1146336) | Cod sursa (job #1016531) | Cod sursa (job #2481218) | Rating Diaconu Dragos (DiaconuDragos) | Cod sursa (job #1886522)
#include <fstream>
#include <iomanip>
#define VAL 35
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int N, K, i, j;
double dp[VAL][VAL];
double P[VAL], nr=1;
int main()
{
fin >> N >> K;
for (i=1; i<=N; i++)
{
fin >> P[i];
dp[i-1][0]=1;
}
dp[1][1]=P[1];
for (i=1; i<=N; i++)
for (j=1; j<=N; j++)
dp[i][j]=dp[i-1][j]+dp[i-1][j-1]*P[i];
for (i=K+1; i<=N; i++)
nr*=i;
for (i=1; i<=N-K; i++)
nr/=i;
dp[N][K]/=nr;
fout << fixed << setprecision(7) << dp[N][K] << '\n';
fin.close();
fout.close();
return 0;
}