Pagini recente » Cod sursa (job #1328027) | Cod sursa (job #2715281) | Cod sursa (job #1121055) | Cod sursa (job #1015144) | Cod sursa (job #1411204)
#include<iostream>
#include<fstream>
#include<cmath>
#include<algorithm>
#include<vector>
#include<bitset>
#include<cstring>
#include<iomanip>
#define ull unsigned long long
#define ll long long
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
ll N,K;
float v[27];
float a[27][27];
int main()
{
f>>N>>K;
for (int i=0;i<=N;++i)
a[i][0]=1;
for (int i=1;i<=N;++i)
f>>v[i];
for (ll i=1;i<=N;++i)
{
int lim=min(K,i);
for (int j=1;j<=lim;++j)
a[i][j]=a[i-1][j-1]*v[i]+a[i-1][j]; // a[i][j]=suma tuturor produselor de j factori alesi din primele i numere;
}
ll aranj=1,nr=N,temp=K;
while (temp--)
{
aranj*=nr;
--nr;
}
ll perm=1;
for (int i=1;i<=K;++i)
perm*=i;
g<<setprecision(6)<<fixed;
g<<a[N][K]*perm/aranj;
f.close();g.close();
return 0;
}