Pagini recente » Cod sursa (job #2930102) | Cod sursa (job #3250277) | Cod sursa (job #2916953) | Cod sursa (job #2046782) | Cod sursa (job #3175264)
#include <fstream>
#include <iomanip>
using namespace std ;
ifstream cin ("dezastru.in") ;
ofstream cout ("dezastru.out") ;
int n, k, P[27][27] ;
double v[27], dp[27][27] ;
int main()
{
cin >> n >> k ;
for (int i = 1 ; i <= n ; i ++)
cin >> v[i] ;
for (int i = 0 ; i <= n + 1 ; i ++)
{
P[i][0] = P[i][i] = 1 ;
for (int j = 1 ; j < i ; j ++)
P[i][j] = P[i - 1][j - 1] + P[i - 1][j] ;
}
for (int i = 0 ; i <= n ; i ++)
dp[i][0] = 1 ;
for (int i = 1 ; i <= n ; i ++)
for (int j = 1 ; j <= min (i, k) ; j ++)
dp[i][j] = dp[i - 1][j] + dp[i - 1][j - 1] * v[i] ;
cout << setprecision(6) << fixed << dp[n][k] / (double) P[n][k] ;
return 0 ;
}