Program Ponork; const Meritko = 8000000; var Zbytky: Array[0..Meritko] of extended; i, j, krok, kroku, useku, vstupu: integer; pozice, zbytek, delka: extended; begin {generace pole zbytku} Zbytky[0]:=0; for i:=1 to Meritko do Zbytky[i]:=sqrt(1-sqr(i/meritko)); readln(vstupu); for i:=1 to vstupu do begin kroku:=0; zbytek:=0; readln(krok, useku); pozice:=meritko/krok; for j:=1 to useku do begin readln(delka); delka:=delka-krok*Zbytky[round(zbytek*pozice{=zbytek/krok*Meritko})]; if zbytek>0 then Inc(kroku); while delka>=Krok do begin Delka:=Delka-krok; Inc(kroku); end; zbytek:=delka; end; if zbytek>delka/2 then Inc(kroku); Writeln('Strazny ujde ', kroku, ' ponorku.'); end; end.