Pagini recente » Cod sursa (job #21535) | Istoria paginii runda/oni18_d1/clasament | Cod sursa (job #1766047) | Cod sursa (job #2048515) | Cod sursa (job #2505093)
#include <fstream>
using namespace std;
ifstream cin ("dezastru.in");
ofstream cout ("dezastru.out");
int n, k, cnt;
double ans;
double p[30];
void bkt(int niv, double prod, int lst) {
if(niv == k + 1) {
ans += prod;
cnt++;
return;
}
for(int i = lst + 1; i <= n - k + niv; i++) {
prod *= p[i];
bkt(niv + 1, prod, i);
prod /= p[i];
}
}
int main() {
cin >> n >> k;
for(int i = 1; i <= n; i++)
cin >> p[i];
bkt(1, 1, 0);
cout << ans / cnt;
return 0;
}