Pagini recente » Cod sursa (job #1256778) | Cod sursa (job #798452) | Cod sursa (job #2898335) | Cod sursa (job #5187) | Cod sursa (job #3120452)
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
long double v[30];
long double s;
long double t;
long long imp;
int x[30];
int n, p;
void bk(int k)
{
for(int i = x[k-1]+1; i<=n; i++)
{
x[k] = i;
if(k == p)
{
t = 1;
for(int j = 1; j<=p; j++)
{
t *= v[x[j]];
}
t *= 2;
s += t;
}
else
{
bk(k+1);
}
}
}
int main()
{
f>>n>>p;
for(int i = 1; i<=n; i++)
{
f>>v[i];
}
bk(1);
imp = 1;
for(int i = n; i>=n-p+1; i--)
{
imp *= i;
}
long double ans = s / imp;
g<<setprecision(6)<<fixed<<ans;
return 0;
}