Не сходится задача с овтетом

var
  a: array[1..10000] of integer;
  N, i, j, x, b: integer;

begin
  x := 0;
  readln(N);
  for i := 1 to N do
    readln(a[i]);
  for i := 1 to N - 4 do
    for j := i + 4 to N do
      if ((a[i] + a[j]) mod 3 = 0) then
        x := x + 1;
  writeln(x);
end.

На вход программы поступает последовательность натуральных чисел A. Количество элементов в последовательности равно числу N, 8≤ N ≤ 1000. Необходимо определить количество таких пар элементов последовательности Ai и Aj, где i и j – номера элементов последовательности, что сумма чисел в каждой из этих пар кратна числу 3, и между элементами, образующими пару, находится не менее 4 чисел. Порядок чисел в паре, в котором они поступали на вход, значения не имеет. Напишите программу для решения поставленной задачи, в которой входные данные будут запоминаться в массиве, после чего будут проверены все возможные пары элементов. Описание входных и выходных данных В первой строке входных данных задается количество чисел N. В каждой из последующих строк, количество которых равно числу N, записано одно целое число в диапазоне от –100 до 100. В качестве ответа программа должна вывести одно число – количество пар элементов, удовлетворяющих условию. 10 12 81 2 7 33 99 21 11 121 10 Пример выходных данных для приведенного выше примера входных данных: 5

Мой ответ на задачу - 8. Ответ задачи -5. где моя ошибка?


Ответы (1 шт):

Автор решения: MBo

между элементами, образующими пару, находится не менее 4 чисел означает, что минимальная разность индексов составляет 5, а не 4.

На примере на первом же шаге: i=1, j=1+4=5, между ними три индекса 2,3,4

→ Ссылка