Pagini recente » Cod sursa (job #2070451) | Cod sursa (job #3282973) | Cod sursa (job #2445675) | Cod sursa (job #2664444) | Cod sursa (job #1472602)
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
const int NMAX=26;
int n,x;
double a[NMAX],val=1,total=0;
int sol[NMAX],b[NMAX],p=0;
inline void Read(){
f>>n>>x;
for(int i=1;i<=n;i++)
f>>a[i];
}
inline void Back(int k)
{
if(k==x+1)
{
p++;
total+=val;
return;
}
for(int i=sol[k-1]+1;n-i>=x-k;i++)
{
sol[k]=i;
val*=a[i];
Back(k+1);
val/=a[i];
}
}
int main()
{
Read();
Back(1);
double sol=total/p;
g<<setprecision(6)<<fixed<<sol;
return 0;
}