Pagini recente » Cod sursa (job #1536411) | Cod sursa (job #1318201) | Cod sursa (job #1465893) | Cod sursa (job #3030089) | Cod sursa (job #2728845)
#include <fstream>
#include <iomanip>
#define ld double
#pragma GCC optimize("O3")
ld ans, v[30], n, k, cnt;
void calc(int curr, ld prob, int kk = 0) {
if(kk==k) {
ans += prob, ++cnt;
return;
}
for(int nxt=curr;nxt<=n-k+kk;++nxt)
calc(nxt+1, prob*v[nxt], kk+1);
}
int main() {
std::ifstream fin("dezastru.in");
std::ofstream fout("dezastru.out");
fin>>n>>k;
for(int i=0;i<n;++i) fin>>v[i];
calc(0, 1.0);
fout<<ans/cnt;
}