Напишите пожалуйста на PascalABC Дано N целых чисел. Требуется выбрать из них два таких числа, произведениекоторых максимально. Вводится сначала число N - количество чисел в последовательности (2 ≤ N ≤ 100). Далее записана сама последовательность: N целых чисел, по модулю не превышающих 1000. Выведите два искомых числа в любом порядке. Если существует несколько различных пар чисел, дающих максимальное произведение, то выведите любую из них.
var N: 2..100; a: array [1..100] of -1000..1000; max1, max2, MaxPr, i, j: integer; {MaxPr - максимальное произведение, max1 и max2 - искомые числа} function RangeOverfilling(Number: integer; Index: integer): integer; {Функция, возвращающая число в диапазон} begin if Number in [1..Index] then result := Number; if Number > Index then result := Number mod Index; if Number < 1 then result := Index + Number mod Index; end; begin MaxPr:= -maxint; {Присваиваем максимальному проиведению начальное значение, равное максимальному числу типа integer, взятому со знаком -} writeln('Введите N'); readln(N); for i:= 1 to N do begin writeln('Введите целое число, по модулю не превышающее 1000'); readln(a); end; for i:= 1 to N - 1 do for j:= 1 to RangeOverfilling(N - i, N) do if a * a[i + j] > MaxPr then begin MaxPr:= a * a[i + j]; max1:= a; max2:= a[i + j]; end; writeln('Пара чисел, дающих максимальное произведение: ', max1,' и ', max2); end.