Pagini recente » Cod sursa (job #3176162) | Cod sursa (job #1333925) | Cod sursa (job #781255) | Cod sursa (job #2273058) | Cod sursa (job #2647463)
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int N, K;
double v[27];
double dp[27][27];
int main()
{
fin >> N >> K;
fin.get();
for(int i = 1; i <= N; i++)
fin >> v[i];
for(int i = 0;i <= N; i++)
dp[i][0] = 1;
for(int i = 1; i <= N; i++)
for(int j = 1; j <= K; j++)
dp[i][j] = dp[i - 1][j] + v[i] * dp[i - 1][j - 1];
double answer = dp[N][K];
double q = 1;
for(int i = 1; i <= N; i++)
{
q *= (double)i;
if(i <= K)
q /= (double)i;
if(i <= N - K)
q /= (double)i;
}
fout << answer / q;
return 0;
}