Pagini recente » Cod sursa (job #2911239) | Cod sursa (job #2668800) | Cod sursa (job #983389) | Cod sursa (job #897526) | Cod sursa (job #2863341)
#include <bits/stdc++.h>
#define N 104
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
long long n, k;
long long k_fact;
long double p[N];
long double v[N];
long double sol;
void Citire()
{
long long i;
fin >> n >> k;
for( i=1; i<=n; i++ )
fin >> p[i];
}
void Back( long long x, long long a, long double prod )
{
long long i;
for( i=a + 1; i<=n; i++ )
{
v[x] = p[i];
if( x == k )
{
sol += prod * v[x];
}
else
{
Back( x + 1, i, prod * v[x] );
}
}
}
void Rezolvare()
{
long long i;
Back(1, 0, 1);
for( i=k + 1; i<=n; i++ )
sol /= i;
for( i=1; i<=n - k; i++ )
sol *= i;
fout << setprecision(10) << sol;
}
int main()
{
Citire();
Rezolvare();
//cout << sizeof( Lee ) / 1024.0 / 1024.0;
return 0;
}