Pagini recente » Cod sursa (job #1216132) | Monitorul de evaluare | Cod sursa (job #2723376) | Cod sursa (job #2106639) | Cod sursa (job #1748290)
#include <iostream>
#include <cstdio>
using namespace std;
int n,k;
double v[100],dp[100][100],tPascal[1000];
void tringhiulPascal(int n)
{
int nrElemente=1;
tPascal[0]=1;
for(int it=1; it<=n; it++)
{
for(int i=it; i>0; i--)
tPascal[i]+=tPascal[i-1];
}
}
void sumaProduselor()
{
int p;
for(int i=0;i<=n;i++)
dp[i][0]=1;
for(int i=1; i<=n; i++)
{
for(int j=1; j<=k; j++)
dp[i][j]=dp[i-1][j]+dp[i-1][j-1]*v[i];
}
}
void citire()
{
scanf("%d%d",&n,&k);
for(int i=1; i<=n; i++)
scanf("%lf",&v[i]);
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
citire();
tringhiulPascal(n);
sumaProduselor();
printf("%lf",dp[n][k]/tPascal[k]);
return 0;
}