Pagini recente » Cod sursa (job #473538) | Cod sursa (job #2257702) | Cod sursa (job #2891362) | Cod sursa (job #2865707) | Cod sursa (job #2194717)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int N,K;
double V[30];
double DP[30][30];
int C[30];
double Comb()
{
C[0]=1;
for(int i=1;i<=N;++i)
for(int j=i;j>=1;--j)
C[j]+=C[j-1];
return C[K];
}
int main()
{
fin>>N>>K;
for(int i=1;i<=N;i++)
fin>>V[i];
for(int i=1;i<=K;++i)
DP[0][i] = 0;
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];
fout<<DP[N][K]/Comb();
return 0;
}