Pagini recente » Cod sursa (job #2773747) | Cod sursa (job #1405342) | Cod sursa (job #3142695) | Cod sursa (job #2837194) | Cod sursa (job #1976067)
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin ("dezastru.in");
ofstream fout("dezastru.out");
int n, k, v[30];
double p[30], s;
bool f[30];
void calc()
{
double prod = 1;
for(int i = 1; i <= k; ++i) prod *= p[v[i]];
s += prod;
}
void bkt(int l)
{
for(int i = 1; i <= n; ++i)
if(!f[i])
{
v[l] = i;
f[i] = 1;
if(l == k) calc();
else bkt(l+1);
f[i] = 0;
}
}
int main()
{
fin >> n >> k;
for(int i = 1; i <= n; ++i) fin >> p[i];
fin.close();
bkt(1);
fout << setprecision(6) << s/6;
fout.close();
return 0;
}