program minimum; const MAXP = 100; var l, r, m : Integer; {Levy konec, pravy konec a stred zkoumaneho intervalu} n : Integer; {Delka posloupnosti} A : Array[0..MAXP+1] of Integer; {Pole s prvky} begin {Inicializace - vlastne jeste neni soucasti hledani minima} Read(n); for l := 1 to n do Read(A[l]); A[0] := MAXINT; A[n+1] := MAXINT; {Zaciname hledat lokalni minimum} l := 0; r := n+1; while l <> r do begin m := (l+r) div 2; if A[m] < A[m+1] then if A[m-1] < A[m] then r := m-1 else begin l := m; r := m; end else l := m+1; end; WriteLn('Minimum je na pozici ', (l+r) div 2, '.'); end.