Pagini recente » Cod sursa (job #333708) | Cod sursa (job #170950) | Clasament oji_2012_11-12_sim | Cod sursa (job #2684592) | Cod sursa (job #428329)
Cod sursa(job #428329)
#include <stdio.h>
int s[1000],k,n,p,x=0;
float a[1000],b[1000],rez;
bool v[1000];
void back(int k)
{
if(k==n+1)
{
x++;
b[x]=1;
for(int i=1;i<=p;i++)
b[x]*=a[s[i]];
return;
}
for (int i=1;i<=n;i++)
if(v[i]==false)
{
s[k]=i;
v[i]=true;
back(k+1);
v[i]=false;
}
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d%d",&n,&p);
for(int i=1;i<=n;i++)
scanf("%f",&a[i]);
back(1);
for(int i=1;i<=x;i++)
rez+=b[i]/float(x);
printf("%f",rez);
return 0;
}