Pagini recente » Cod sursa (job #2633876) | Cod sursa (job #2837435) | Cod sursa (job #1756434) | Cod sursa (job #2331338) | Cod sursa (job #735116)
Cod sursa(job #735116)
#include <cstdio>
using namespace std;
double p[30],a[30][30];
long long combinari(int n, int k)
{
long long rez=1,i;
if(n-k>k)
return combinari(n,n-k);
for(i=k+1;i<=n;++i)
{
rez=rez*i;
}
for(i=1;i<=n-k;++i)
rez/=i;
return rez;
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
int n,k,i,j;
scanf("%d%d",&n,&k);
for(i=1;i<=n;++i)
scanf("%lf",&p[i]);
a[0][0]=1;
for(i=1;i<=n;++i)
{
a[i][0]=1;
for(j=1;j<=i;++j)
{
a[i][j]=a[i-1][j]+a[i-1][j-1]*p[i];
}
}
printf("%.6lf",a[n][k]/combinari(n,k));
return 0;
}