Pagini recente » Cod sursa (job #286051) | Cod sursa (job #2984098) | Cod sursa (job #1900388) | Cod sursa (job #1736068) | Cod sursa (job #2113606)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out") ;
int main()
{
int n , k , i , j , prm ;
double p[26] , mat[26][26] ;
long long nfact = 1, kfact = 1, nkfact = 1;
fin >> n >> k ;
for ( i = 1 ; i <= n ; i++ )
{
fin >> p[i] ;
nfact = nfact*i ;
}
for ( i = 0 ; i <= n ; i++)
for ( j = 0 ; j <= k ; j++ )
mat[i][j] = 0 ;
for ( i = 1 ; i <= n ; i++ )
mat[i][1] = p[i] + mat[i-1][1] ;
for ( i = 1 ; i <= n ; i++ )
{
for ( j = 2 ; j <= k ; j++ )
{
mat[i][j] = mat[i-1][j] + mat[i-1][j-1]*p[i] ;
//cout << mat[i][j] << " " ;
}
//cout << endl ;
}
for ( i = 2 ; i <= k ; i++ )
kfact = kfact*i ;
for ( i = 2 ; i <= n-kfact ; i++ )
nkfact = nkfact*i ;
prm = nfact/kfact/nkfact ;
fout << mat[n][k]/prm ;
}