Pagini recente » Borderou de evaluare (job #376179) | Borderou de evaluare (job #1882012) | Borderou de evaluare (job #1294847) | Cod sursa (job #1643081) | Cod sursa (job #2531705)
#include<fstream>
#include<iomanip>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
const int Maxx=26;
double A[Maxx];
int sol[Maxx];
double ans;
int tot;
void bk(int k,int n,int p,double prob){
for(int i=sol[k-1]+1; i<=n; ++i){
sol[k]=i;
double prb;
prb=prob*A[sol[k]];
if(k==p){
++tot;
ans+=prb;
} else{
bk(k+1,n,p,prb);
}
}
}
int main() {
int n,k;
fin>>n>>k;
for(int i=1; i<=n; ++i){
fin>>A[i];
}
bk(1,n,k,1.0);
fout<<setprecision(6)<<fixed<<(double)ans/tot;
return 0;
}