Pagini recente » Cod sursa (job #1389994) | Cod sursa (job #3260624) | Cod sursa (job #2396308) | Cod sursa (job #197497) | Cod sursa (job #809091)
Cod sursa(job #809091)
#include <cstdio>
using namespace std;
double p[30];
double dp[30][30];
int n,k;
long long C(int n,int k)
{
long long r=1;
int i;
for(i=1;i<=k;i++)
r=(long long)r*(long long)(n-i+1)/(long long)i;
return r;
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf ("%d%d",&n,&k);
for(int i=1;i<=n;i++)
scanf("%lf",&p[i]);
dp[0][0]=1;
for(int i=1;i<=n;i++)
for(int j=0;j<=i;j++)
dp[i][j]=dp[i-1][j]+dp[i-1][j-1]*p[i];
printf("%.6lf\n",dp[n][k]/C(n,k));
return 0;
}