Pagini recente » Cod sursa (job #3279430) | Cod sursa (job #1491567) | Cod sursa (job #1991410) | Cod sursa (job #92421) | Cod sursa (job #1470998)
#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 viz[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==n+1)
{
val=1;
for(int i=1;i<=x;i++)
val*=a[b[i]];
p++;
total+=val;
return;
}
for(int i=1;i<=n;i++)
if(viz[i]==0)
{
b[k]=i;
viz[i]=1;
Back(k+1);
viz[i]=0;
}
}
int main()
{
Read();
Back(1);
double sol=total/p;
g<<setprecision(6)<<fixed<<sol;
return 0;
}