Cod sursa(job #530259)

Utilizator marta_diannaFII Filimon Marta Diana marta_dianna Data 7 februarie 2011 12:57:02
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<fstream.h>
#include<iomanip.h>
#define NMAX 32

//float a[NMAX];
double a[NMAX], p[NMAX], rez=0;
int n, i, k, x[NMAX];

ifstream f("dezastru.in");
ofstream g("dezastru.out");

void comb(int h)
{
    int i;
    if (h==k+1) rez+=p[k];
    else
	  for (i=x[h-1]+1; i<=n-k+h; ++i)
	  {
		x[h]=i;
		p[h]=p[h-1]*a[i];
		comb(h+1);
	  }
}

int main()
{
    f>>n>>k;
    for (i=1; i<=n; ++i) f>>a[i];
    p[0]=1;
    comb(1);
    for (i=k+1; i<=n; ++i) rez/=(double)i;
    g<<fixed<<setprecision(7)<<rez<<"\n";
    f.close();
    g.close();
    return 0;
}