Cod sursa(job #277166)

Utilizator Sorin_IonutBYSorynyos Sorin_Ionut Data 11 martie 2009 15:41:20
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>

#define DIM 30
#define IN "dezastru.in"
#define OUT "dezastru.out"

long val[DIM];
long n,k,cont=0;
float l,e[DIM],t=0;

void afisare()
{
 float d=1;
 int i;
 
 for(i=1;i<=k;i++)
  d=d*e[val[i]];
  
 cont++;
 t=t+d;
}

void back(int lvl)
{
 int i;
    
 if(lvl==k+1)
 {
  afisare();
  return;
 }
 
 for(i=val[lvl-1]+1;i<=n;i++)
 {
  val[lvl]=i;
  back(lvl+1);
 }
}
	
int main()
{
 int i;
 
 freopen(IN,"r",stdin);
 freopen(OUT,"w",stdout);
 
 scanf("%ld %ld",&n,&k);
 for(i=1;i<=n;i++)
  scanf("%f ",&e[i]);
  
 back(1);
 
 l=t/cont;
 
 printf("%f",l);
 
 return 0;
}