Pagini recente » Cod sursa (job #1838658) | Cod sursa (job #85643) | Cod sursa (job #1409141) | Cod sursa (job #1930941) | Cod sursa (job #751916)
Cod sursa(job #751916)
#include<fstream>
using namespace std;
#include<iomanip>
ifstream fcin("dezastru.in");
ofstream fcout("dezastru.out");
int n,v[26],k,u=1,nr=0;
float w[26],s=0;
void read()
{
fcin>>n>>k;
for(int i=1;i<=n;i++)
fcin>>w[i];
}
void print()
{
nr++;
double ceva=1;
for(int i=1;i<=k;i++)
ceva*=w[v[i]];
s+=ceva;
}
bool cont(int x)
{
for(int i=1;i<x;i++)
if(v[i]==v[x])
return 0;
return 1;
}
void back(int x)
{
if(x==k+1)
print();
else
for(int i=u;i<=n;i++)
{
v[x]=i;
u=i;
if(cont(x))
back(x+1);
}
}
int main()
{
read();
back(1);
fcout<<setprecision(6)<<s/nr;
return 0;
}