Pagini recente » Cod sursa (job #2190628) | Cod sursa (job #94376) | Cod sursa (job #20073) | Cod sursa (job #1878162) | Cod sursa (job #1384041)
# include <bits/stdc++.h>
using namespace std;
ifstream fi("dezastru.in");
ofstream fo("dezastru.out");
double s[123];
double dp[123][123];
double comb(int n,int k)
{
double ans = 1;
for (int i = n - k + 1;i <= n;++i) ans *= i;
for (int i = 1;i<=k;++i) ans /= i;
return ans;
}
int main(void)
{
int n,m;
fi>>n>>m;
for (int i=1;i<=n;++i) fi>>s[i];
for (int i = 0;i <= n;++i) dp[i][0] = 1;
for (int i=1;i<=n;++i)
for (int j = 1;j <= m;++j) dp[i][j] = dp[i-1][j-1] * s[i] + dp[i-1][j];
return fo << fixed << setprecision(6) << (dp[n][m] / comb(n,m)) << '\n',0;
}