Pagini recente » Cod sursa (job #505289) | Cod sursa (job #121923) | Borderou de evaluare (job #1617963) | Cod sursa (job #3193210) | Cod sursa (job #1161411)
#include <cstdio>
using namespace std;
FILE*f=fopen("dezastru.in","r");
FILE*g=fopen("dezastru.out","w");
int n,i,x,nr,sol[26];
long long lung;
float S,v[26];
float prod(int n)
{
float P=v[sol[1]];
for (register int i=2;i<=x;i++)
P*=v[sol[i]];
return P;
}
void bkt(int k)
{
if (k==x+1)
{
S+=prod(k);
lung++;
return;
}
for (register int i=sol[k-1]+1;i<=n;i++)
{
sol[k]=i;
bkt(k+1);
}
}
int main()
{
fscanf(f,"%d %d",&n,&x);
for (i=1;i<=n;i++)
fscanf(f,"%f",&v[i]);
bkt(1);
fprintf(g,"%f",S/lung);
return 0;
}