Pagini recente » Cod sursa (job #1750649) | Istoria paginii runda/valicaroom2 | Cod sursa (job #222043) | Cod sursa (job #876784) | Cod sursa (job #1472598)
#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)
{
val=1;
for(int i=1;i<=x;i++)
val*=a[sol[i]];
p++;
total+=val;
return;
}
for(int i=sol[k-1]+1;n-i>=x-k;i++)
{
sol[k]=i;
Back(k+1);
}
}
int main()
{
Read();
Back(1);
double sol=total/p;
g<<setprecision(6)<<fixed<<sol;
return 0;
}