Pagini recente » Cod sursa (job #2261980) | Cod sursa (job #731117)
Cod sursa(job #731117)
#include <fstream>
#include <iomanip>
#define maxN 32
using namespace std;
ifstream in;
ofstream out;
double p[maxN];
double d[maxN][maxN];
int main()
{
int N,K;
in.open("dezastru.in");
in>>N>>K;
for(int i=1;i<=N;++i) in>>p[i];
in.close();
double f=1;
for(int i=2;i<=K;++i) f*=i;
for(int i=N-K+1;i<=N;++i) f/=i;
d[1][1]=p[1];
for(int i=2;i<=N;++i)
{
d[i][1]=d[i-1][1]+p[i];
for(int j=2;j<=i&&j<=K;++j)
d[i][j]=d[i-1][j]+d[i-1][j-1]*p[i];
}
out.open("dezastru.out");
out<<fixed<<setprecision(6)<<d[N][K]*f<<'\n';
out.close();
return 0;
}