Cod sursa(job #277070)

Utilizator Sorin_IonutBYSorynyos Sorin_Ionut Data 11 martie 2009 14:52:56
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream.h>
#include <fstream.h>

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

ifstream fin(IN);
ofstream fout(OUT);

int v[dim];
int nn,kk;
double p;
double val[dim];

void back(int k);

int main()
{
 int i;
 fin>>nn>>kk;
 for(i=1;i<=nn;i++)
  fin>>val[i];
 fin.close();
 
 for(i=1;i<=nn;i++)
 {
  v[1]=i;   
  back(2);
 }
 
 for(i=nn-kk+2;i<=nn;i++)    
  p=p/i/1.0;
 fout<<p<<endl;
 fout.close();
 
 return 0;
}

void back(int k)
{
 int i;
    
 if(k==kk+1)   
 {
  double pp=1;
  
  for(i=1;i<=kk;i++)   
   pp*=val[v[i]];
  p+=pp; 
 }
 else 
  for(i=v[k-1]+1;i<=nn;i++)
  {
   v[k]=i;
   back(k+1);   
  }
}