Pagini recente » Cod sursa (job #262117) | Cod sursa (job #1933458) | Cod sursa (job #1263409) | Diferente pentru problema/ro intre reviziile 3 si 2 | Cod sursa (job #3299607)
#include <bits/stdc++.h>
using namespace std;
#define MAXN 25
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int x[MAXN+1],n,p,nrcomb,i;
double v[MAXN+1],s;
void bkt(int k,double prod) {
for(int i=x[k-1]+1; i<=n; i++) {
x[k]=i;
if(k==p) {
s=s+prod*v[x[k]];
nrcomb++;
} else {
bkt(k+1,prod*v[x[k]]);
}
}
}
int main() {
fin>>n>>p;
for(i=1; i<=n; i++) {
fin>>v[i];
}
bkt(1,1);
fout<<(double)s/nrcomb;
return 0;
}