Pagini recente » Cod sursa (job #2455685) | Cod sursa (job #3198268) | Cod sursa (job #2225293) | petru_vs_george | Cod sursa (job #1995771)
#include <fstream>
#include <iostream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
double a[30];
long double avg;
int v[30], n, k, i;
long long Ref, nr;
inline void bkt(int x) {
int i;
double s = 1;
if (x == k+1) {
nr++;
for (i = 1; i <= k; i++)
s *= a[v[i]];
avg += s;
return;
}
for (i = v[x-1]+1; i <= n-(k-x); i++) {
v[x] = i;
bkt(x+1);
}
}
int main() {
f >> n >> k;
Ref = 1;
for (i = 2; i <= k; i++)
Ref *= i;
for (i = 1; i <= n; i++)
f >> a[i];
bkt(1);
g << fixed << setprecision(6) << avg/nr;
}