Жауабы: Пары чисел, кратные 23
Алгоритм с постоянной памятью: для каждого числа учитывать элементы, прочитанные не менее чем за три позиции до него; подсчитывать пары за $O(N)$.
У этого задания официального ключа нет, поэтому ответ получен в разборе және кілтпен салыстырылмаған. Нәтижені жаттамас бұрын, өтіңіз выкладки — там видно, откуда взялось каждое число.
На вход программы поступает последовательность из $N$ целых положительных чисел, все числа в последовательности различны. Рассматриваются все пары различных элементов последовательности, находящихся на расстоянии не меньше чем 3: разница в индексах элементов пары должна быть 3 или более, порядок элементов в паре неважен. Необходимо определить количество таких пар, для которых произведение элементов делится на 23.
В первой строке входных данных задаётся количество чисел $N$ ($3 \leq N \leq 1000$). В каждой из последующих $N$ строк записано одно целое положительное число, не превышающее 10 000. Программа должна вывести одно число — количество подходящих пар.
Требуется написать эффективную по времени и памяти программу. Программа считается эффективной по времени, если при увеличении $N$ в $k$ раз время её работы увеличивается не более чем в $k$ раз. Программа считается эффективной по памяти, если память для хранения всех переменных не превышает 1 килобайта и не увеличивается с ростом $N$.
Перед текстом программы кратко опишите алгоритм решения, укажите использованный язык программирования и его версию.
Где здесь ошибаются
Учитывать элементы, находящиеся на расстоянии 1 или 2 позиций.
Добавлять текущий элемент в счётчик допустимых элементов до подсчёта пар с ним.
Считать только пары двух чисел, кратных 23, хотя достаточно кратности 23 бір множителя.
Хранить всю последовательность, нарушая требование по памяти.
Использовать двойной цикл и получить сложность $O(N^2)$.