Pagini recente » Cod sursa (job #2290266) | Cod sursa (job #3193961) | Cod sursa (job #2268167) | Cod sursa (job #1490060) | Cod sursa (job #253322)
Cod sursa(job #253322)
#include <cstdio>
int N,K;
double dp[26][26],p[26];
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]);
for(int j = 0; j <= N; ++j)
dp[0][j] = 1;
for(int i = 1; i <= K; ++i)
for(int j = 1; j <= N; ++j)
dp[i][j] = dp[i-1][j-1] * p[j] + dp[i][j-1];
double sol = dp[K][N];
for(int i = 2; i <= N - K; ++i)
sol *= (double)i;
for(int i = K + 1; i <= N; ++i)
sol /= (double)i;
printf("%.6lf",sol);
return 0;
}