Pagini recente » Cod sursa (job #1074584) | Cod sursa (job #589460) | Cod sursa (job #2078578) | Cod sursa (job #1454760) | Cod sursa (job #1995772)
#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, double s) {
int i;
if (x == k+1) {
nr++;
avg += s;
return;
}
for (i = v[x-1]+1; i <= n-(k-x); i++) {
v[x] = i;
bkt(x+1, s*a[v[x]]);
}
}
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, 1);
g << fixed << setprecision(6) << avg/nr;
}