Pagini recente » Cod sursa (job #2572421) | Cod sursa (job #1861879) | Cod sursa (job #304514) | Cod sursa (job #2631141) | Cod sursa (job #402494)
Cod sursa(job #402494)
#include<cstdio>
#include<cstdlib>
#define MAXN 30
using namespace std;
int n,k;
float val[MAXN],dp[MAXN][MAXN];
long long fact[MAXN][MAXN];
void factorial()
{
int i,j;
for(i=1;i<=n;i++)
{
fact[i][1]=i;
for(j=2;j<=k;j++)
fact[i][j]=i*fact[i-1][j-1]/j;
}
}
void PD()
{
int i,j;
for(i=1;i<=n;i++)
{
dp[i][1]=dp[i-1][1]+val[i];
for(j=2;j<=k;j++)
dp[i][j]=val[i]*dp[i-1][j-1]+dp[i-1][j];
}
}
int main ()
{
freopen("dezastru.in" , "r" , stdin);
freopen("dezastru.out" , "w" , stdout);
int i;
scanf("%d%d" , &n, &k);
for(i=1;i<=n;i++)
scanf("%f" , &val[i]);
factorial();
PD();
printf("%.6f" , dp[n][k]/fact[n][k]);
return 0;
}