Pagini recente » Cod sursa (job #2169806) | Cod sursa (job #1589060) | Cod sursa (job #3291251) | Cod sursa (job #2275637) | Cod sursa (job #135430)
Cod sursa(job #135430)
#include<cstdio>
FILE *fin=freopen("dezastru.in","r",stdin),
*fout=freopen("dezastru.out","w",stdout);
int N,K,viz[30],nrd;
double a[30],s,p;
double sol[30];
void citire()
{
scanf("%d %d",&N,&K);
for(int i=0;i<N;i++)
scanf("%lf",&a[i]);
}
void back(int k)
{
if(k==K)
{
s+=p;
nrd++;
return;
}
for(int i=0;i<N;i++)
if(!viz[i])
if(k==0 || (k>0 && a[i]>sol[k-1]))
{
sol[k]=a[i];
p*=sol[k];
viz[i]=1;
back(k+1);
viz[i]=0;
p/=sol[k];
}
}
void solve()
{
p=1;
back(0);
printf("%6lf",s/nrd);
}
int main()
{
citire();
solve();
return 0;
}