Cod sursa(job #194415)

Utilizator zalmanDanci Emanuel Sebastian zalman Data 10 iunie 2008 15:01:57
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>     
#define dim 30
#define FIN "dezastru.in"
#define FOUT "dezastru.out"
int n,l,nr;
double a[dim],s,tot;
  
void read()
{
  scanf("%d %d",&n,&l);
  for(int i=0;i<n;++i)
    scanf("%lf",&a[i]);
}


void back(int k,int poz,double s)
{
  if(k==l)
  {
    tot+=s;
    nr++;
    return;
  }
  for(int i=poz;i<n-l+k+1;++i)
      back(k+1,i+1,s*a[i]);


}

int main()
{
  freopen(FIN,"r",stdin);
  freopen(FOUT,"w",stdout);
  read();
  tot=0;
  back(0,0,1);
  printf("%.6lf",tot/nr);
  return 0;
}