Pagini recente » Cod sursa (job #2194381) | Borderou de evaluare (job #2878889) | Cod sursa (job #673227) | Cod sursa (job #2939240) | Cod sursa (job #2870109)
#include <fstream>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n, k, cnt;
double a[30], b[10000];
int v[30];
bool u[30];
void adaugare()
{
double sum=a[v[1]];
for(int i=2; i<=k; i++)
sum*=a[v[i]];
b[++cnt]=sum;
}
void bkt(int x)
{
for(int i=1; i<=n; i++)
if(u[i]==0)
{
v[x]=i;
u[i]=1;
if(x==k)
adaugare();
else
bkt(x+1);
u[i]=0;
}
}
int main()
{
f>>n>>k;
for(int i=1; i<=n; i++)
f>>a[i];
bkt(1);
double medie=0;
for(int i=1; i<=cnt; i++)
medie=medie+b[i];
g<<(medie*1.000000)/cnt;
return 0;
}