Pagini recente » Cod sursa (job #1976194) | Cod sursa (job #196775) | Borderou de evaluare (job #1708528) | Borderou de evaluare (job #2656417) | Cod sursa (job #3195687)
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f ("dezastru.in");
ofstream g ("dezastru.out");
int n, m, t, aux[31];
double v[31], s, scrt = 1;
void back(int k) {
if(k == m + 1) {
s += scrt;
t++;
} else {
for(int i = aux[k - 1] + 1; i <= k + n - m; i++) {
aux[k] = i; scrt *= v[i];
back(k + 1);
scrt /= v[i];
}
}
}
int main () {
f >> n >> m;
for(int i = 1; i <= n; i++)
f >> v[i];
back(1);
g << fixed << setprecision(6) << s / t;
return 0;
}