Дополнительная задача Паскаль на логику.

Задача: Есть массив, который заполнен различными целыми числами, включая отрицательные. Найдите самое большое произведение пары, то есть двух элементов массива, используя только один цикл.

Решение:

var
   arr: array[1..5] of integer;
   i, j, one, two, proiz, max: integer;
begin
   arr[1] := -8;
   arr[2] := 7;
   arr[3] := -10;
   arr[4] := 5;
   arr[5] := -9;
   max := 0;
   j := 1;
   i := 1;
   while (i <= high(arr)) do
   begin
     one := arr[i];
     two := arr[j];
     if (i <> j) then
     begin
       write(one*two, ' ');
       proiz := one*two;
     end;
     inc(j);
     if (proiz > max) then
     max := proiz;
     if (j > 5) then
     begin
       j := 1;
       inc(i);
       writeln();
     end;
   end;
   write('Bolse vsego - ', max);
end.