Pagini recente » Cod sursa (job #65388) | Cod sursa (job #1112497) | Cod sursa (job #1062202) | Cod sursa (job #777993) | Cod sursa (job #2436982)
#include <bits/stdc++.h>
using namespace std;
typedef double ld;
const int MAX_N = 25;
int nr;
ld ans;
int n, k;
ld a[1 + MAX_N];
inline static void bkt (register int x, register int lst, register ld p) {
if (x == k) {
ans += p;
nr++;
return;
}
for (register int i = lst + 1; i <= n - k + x + 1; i++)
bkt (x + 1, i, p * a[i]);
}
int main() {
freopen ("dezastru.in", "r", stdin);
freopen ("dezastru.out", "w", stdout);
cin >> n >> k;
for (register int i = 1; i <= n; i++)
cin >> a[i];
bkt (0, 0, 1.0);
cout << fixed << setprecision (6) << ans / nr;
return 0;
}