Pagini recente » Cod sursa (job #274539) | Cod sursa (job #1492208) | Cod sursa (job #2866777) | Cod sursa (job #2621183) | Cod sursa (job #2364437)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
double DP [40] [40];
int main()
{
int n, t, i, j;
double nr;
fin >> n >> t;
for( i = 0; i <= n; i ++ )
DP [i] [0] = 1;
for( i = 1; i <= n; i ++ ){
fin >> nr;
for ( j = 1; j <= i; j ++ ){
DP [i] [j] = DP [i - 1] [j] + (double) nr * DP [i - 1] [j - 1];
}
}
double res = DP [n] [t];
for ( i = t + 1; i <= n; i ++ )
res /= i;
for( i = 1; i <= n - t; i ++)
res *= i;
fout << setprecision(6) << fixed;
fout << res;
return 0;
}