Не сходится задача с ответом
Решаю задачу, не сходится с ответом и не понимаю в чем проблема. Можете объяснить подробнее, где я ошибся. Мой ответ: -6, правильный ответ: 9. https://imgur.com/Ygydswx
var
a: array[1..1000] of Integer;
n, i, j, x: Integer;
begin
x := -10000;
readln(n);
for i := 1 to n do
Readln(a[i]);
for i := 1 to n - 5 do
for j := i + 5 to n do
if ((a[i] - a[j]) mod 3 = 0) and ((a[i] - a[j]) > x ) then
x := (a[i] - a[j]);
if x <> - 10000 then
Writeln(x)
else
Writeln('NO');
readln;
end.
Ответы (1 шт):
Автор решения: Alex R.
→ Ссылка
Главная ошибка это, то что в задаче под разностью понимается абсолютное значение, в отличии от того, что представлено в решении. Т.е. всего лишь требуется заменить на
abs(a[i] - a[j])
В этом случае разность не может быть отрицательна, поэтому начальное значение нужно брать ноль.