Cod sursa(job #238470)

Utilizator DraStiKDragos Oprica DraStiK Data 2 ianuarie 2009 11:53:00
Problema Dezastru Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <stdio.h>
int n,m,pe;
int sol[30];
double a[30];
double sum;
void read ()
{
    int i;
    scanf ("%d%d",&n,&m);
    for (i=1; i<=n; ++i)
        scanf ("%lf",&a[i]);
}
void back (int k,int val,double s)
{
    int i;
    if (k==m+1)
    {
        sum+=s;
        ++pe;
    }    
    else
        for (i=val; i<=n-m+k; ++i)
            back (k+1,i+1,s*a[i]);
}   
int main ()
{
    freopen ("dezastru.in","r",stdin);
    freopen ("dezastru.out","w",stdout);    
    read ();
    back (1,1,1);
    printf ("%.6lf",sum/pe);
    return 0;
}