Pagini recente » Cod sursa (job #2350048) | Cod sursa (job #2624830) | Cod sursa (job #1080742) | Cod sursa (job #1591874) | Cod sursa (job #2066629)
#include <bits/stdc++.h>
using namespace std;
int n, k, e, t;
double val[30], sol, current = 1;
void bkt(int x)
{
++e;
current *= val[x];
if(e == t-1){
for (int i = x+1; i <= n; ++i){
current *= val[i];
sol += current;
++k;
current /= val[i];
}
return;
}
for (int i = x+1; n-i+1+e >= t; ++i)
bkt(i);
--e;
current /= val[x];
}
int main()
{
ifstream fin ("dezastru.in");
ofstream fout ("dezastru.out");
fin >> n >> t;
for (int i = 1; i <= n; ++i)
fin >> val[i];
for (int i = 1; i <= n-t+1; ++i){
e = 0;
current = 1;
bkt(i);
}
fout << fixed << setprecision(10) << sol/k << "\n";
fin.close();
fout.close();
return 0;
}