Pagini recente » Cod sursa (job #708252) | Cod sursa (job #2255118) | Cod sursa (job #275143) | Cod sursa (job #893672) | Cod sursa (job #1411192)
#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");
int N,K,perm;
float v[27];
float a[27][27];
int fact[27];
int main()
{
f>>N>>K;
fact[0]=1;
for (int i=1;i<=N;++i)
fact[i]=fact[i-1]*i;
for (int i=0;i<=N;++i)
a[i][0]=1;
for (int i=1;i<=N;++i)
f>>v[i];
for (int 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;
}
g<<setprecision(6)<<fixed;
g<<a[N][K]*fact[K]/(fact[N]/fact[N-K]);
f.close();g.close();
return 0;
}