Cod sursa(job #164886)

Utilizator eugen.nodeaEugen Nodea eugen.nodea Data 24 martie 2008 21:59:38
Problema Dezastru Scor 60
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.95 kb
{$N+}
const nmax=26;
var f:text;
    v:array[1..nmax] of real;
    p:longint;
    n,i,k,kk:byte;
    s:extended;
    st:array[1..nmax] of byte;
procedure back(kk:byte);
var i,j:byte;
    sp:extended;
begin
     if kk=k+1 then begin
                      sp:=1;
                      For j:=1 To k do
                         sp:=sp*v[st[j]];
                      s:=s+sp;
                      p:=p+1;
                   end
              else begin
                        For i:=st[kk-1]+1 To n-(kk-k) do
                            begin
                                 St[kk]:=i;
                                 back(kk+1);
                            end;
                   end;
end;
begin
     assign(f,'dezastru.in');reset(f);
     readln(f,n,k);
     for i:=1 to n do
         read(f,v[i]);
     close(f);
     p:=0;
     assign(f,'dezastru.out');rewrite(f);
     back(1);
     writeln(f,(s/p):0:6);
     close(f);
End.