Cod sursa(job #39384)

Utilizator raduzerRadu Zernoveanu raduzer Data 26 martie 2007 18:08:21
Problema Dezastru Scor 70
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.72 kb
var a:array[0..25]of real;
    d:array[0..25]of integer;
    n,k,i,z:longint;
    r,s:real;

procedure back(i:integer);
var j:integer;
begin
     if i>k then
     begin
          inc(z);
          r:=r+s;
          exit;
     end;

     for j:=d[i-1] to n do
     begin
          if k-i>n-j+1 then break;
          d[i]:=j+1;
          s:=s*a[j];
          back(i+1);
          s:=s/a[j];
          d[i]:=0;
     end;
end;

begin
     assign(input,'dezastru.in');
     reset(input);
     assign(output,'dezastru.out');
     rewrite(output);
     readln(n,k);
     for i:=1 to n do read(a[i]);
     d[0]:=1;
     z:=0;
     s:=1;
     r:=0;
     back(1);
     writeln(r/z:0:6);
close(output);
end.