Pagini recente » Cod sursa (job #719225) | Cod sursa (job #2720960) | Cod sursa (job #1264935) | Cod sursa (job #837207) | Cod sursa (job #1906126)
#include <bits/stdc++.h>
using namespace std;
long long nrr;
int n,k,a,b,i,j,V[30],K,in;
double v[30],p,s,dp[30][30];
/*void Sbm(int nr)
{
if(nr==K)
{
p=1;
for(in=1; in<=K; ++in)
p*=v[V[in]];
s+=p/nrr;
}
else
{
for(int i=V[nr]+1; i<=n-(K-nr-1); ++i)
{
V[nr+1]=i;
Sbm(nr+1);
}
}
}*/
int main()
{
ifstream f ("dezastru.in");
ofstream g ("dezastru.out");
f>>n>>K;
for(i=1; i<=n; ++i)
f>>v[i];
if(n-K>K)a=n-K,b=K;
else a=K,b=n-K;
nrr=1;
for(j=1,i=a+1; i<=n||j<=b; ++i,++j)
{
if(i<=n) nrr*=i;
if(j<=b) nrr/=j;
}
/// Sbm(0);
for(i=0; i<=n; ++i)
dp[i][0]=1;
for(i=1; i<=n; ++i)
for(j=1; j<=i; ++j)
dp[i][j]=dp[i-1][j]+dp[i-1][j-1]*v[i];
g<<dp[n][K]/nrr;
return 0;
}