Cod sursa(job #1384041)

Utilizator cojocarugabiReality cojocarugabi Data 10 martie 2015 20:21:37
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
# 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;
}