program MaxMin;

const N = 10;

type TipoVetor = array [1..N+1] of integer;

var
  A: TipoVetor;
  arq: text;
  i, Max, Min: integer;

procedure MaxMin3 (var A: TipoVetor; var Max, Min: integer);
var i, FimDoAnel: integer;
begin
  if (N mod 2) > 0
  then begin  A[N+1] := A[N]; FimDoAnel := N; end
  else FimDoAnel := N-1;
  if A[1] > A[2]
  then begin Max := A[1]; Min := A[2];  end
  else begin Max := A[2]; Min := A[1];  end;
  i:= 3;
  while i <= FimDoAnel do
    begin
    if A[i] > A[i+1]
    then begin
         if A[i] > Max then Max := A[i];
         if A[i+1] < Min then Min := A[i+1];
         end
    else begin
         if A[i] < Min then Min := A[i];
         if A[i+1] > Max then Max := A[i+1];
         end;
    i:= i + 2;
    end;
end;

begin
  reset(arq, 'vetor.txt');
  writeln('Vetor a ser pesquisado:');
  writeln;
  for i := 1 to N do begin
    readln (arq, A[i]);
    writeln (A[i]: 10)
  end;
  MaxMin3(A, Max, Min);
  writeln; 
  writeln;
  writeln('Chave de maior valor = ', Max);
  writeln('Chave de menor valor = ', Min);
  close(arq)
end. { MaxMin }

