Pagini recente » Statistici Stangaciu Sofian (Straton) | Statistici Anastasoaei Ionel (Johnn) | Istoria paginii utilizator/mary05 | Atasamentele paginii Clasament tema_grf1 | Cod sursa (job #1886483)
#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;
double x[VAL], y[VAL];
void Pascal()
{
x[1]=x[2]=y[1]=y[2]=1;
for (i=2; i<=N; i++)
{
for (j=1; j<=i+1; j++)
y[j]=x[j]+x[j-1];
for (j=1; j<=i+1; j++)
x[j]=y[j];
}
nr=y[K];
}
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<=min(i, K); j++)
dp[i][j]=dp[i-1][j]+dp[i-1][j-1]*P[i];
dp[N][K]*=2;
Pascal();
nr*=2;
dp[N][K]/=nr;
fout << fixed << setprecision(7) << dp[N][K] << '\n';
fin.close();
fout.close();
return 0;
}