Cod sursa(job #149576)

Utilizator Mishu91Andrei Misarca Mishu91 Data 5 martie 2008 21:10:59
Problema Dezastru Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<cstdio>
#include<algorithm>

using namespace std;

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,int poz,double s)
{
  if(k==K)
  {
    p+=s;
    nrd++;
    return;
  }
  for(int i=poz+1;i<N-K+k+1;i++)
      back(k+1,i,s*a[i]);
    
   
}

void solve()
{
  p=0;
 // sort(a,a+N-1);
  back(0,-1,1);
  printf("%6lf",p/nrd);
} 
  
int main()
{
  citire();
  solve();
  return 0;
}