Cod sursa(job #651517)

Utilizator andreifirstCioara Andrei Ioan andreifirst Data 20 decembrie 2011 18:14:09
Problema Dezastru Scor 60
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.68 kb
var v :array [0..26] of longint;
    w:array [0..26] of double;
    r, r1:double;
    p, i, j, n, m, t:longint;
    f, g:text;

procedure tipar;
  begin

  inc (t); r:=r+r1;
  r1:=r1/w[v[p]];
  end;

begin
assign (f, 'dezastru.in'); reset (f);
assign (g, 'dezastru.out'); rewrite (g);

read (f, n, m);
for i := 1 to n do read (f, w[i]);
w[n+1]:=1; w[0]:=1;

p:=1;
r1:=1;
while p > 0 do
  begin
  inc (v[p]);
  r1:=r1*w[v[p]];
  if v[p] > n then begin dec(p); r1:=r1/w[v[p]]; end
              else
    begin
    if p=m then tipar
           else begin inc (p); v[p]:=v[p-1]; end;
    end;
  end;

r:=r/t;
writeln (g, r:6:6);

close (f); close (g);
end.