Ответ: Подсчёт пар с произведением 74
Программа должна использовать однопроходный подсчёт с четырьмя счётчиками; сложность — $O(N)$ по времени и $O(1)$ по дополнительной памяти.
У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.
На вход программы поступает последовательность из $N$ целых положительных чисел, все числа в последовательности различны. Рассматриваются все пары различных элементов последовательности: элементы пары не обязаны стоять в последовательности рядом, порядок элементов в паре не важен. Необходимо определить количество пар, для которых произведение элементов делится на $74$.
В первой строке входных данных задаётся количество чисел $N$ ($1 \leq N \leq 1000$). В каждой из последующих $N$ строк записано одно целое положительное число, не превышающее $10000$.
В качестве результата программа должна напечатать одно число: количество пар, в которых произведение элементов кратно $74$.
Пример входных данных:
$4$
$2$
$6$
$37$
$111$
Пример выходных данных для приведённого выше примера входных данных:
$4$
Из четырёх заданных чисел можно составить $6$ попарных произведений: $2 \cdot 6$, $2 \cdot 37$, $2 \cdot 111$, $6 \cdot 37$, $6 \cdot 111$, $37 \cdot 111$. Из них на $74$ делятся $4$ произведения: $2 \cdot 37 = 74$, $2 \cdot 111 = 222$, $6 \cdot 37 = 222$, $6 \cdot 111 = 666$.
Требуется написать эффективную по времени и по памяти программу. При увеличении количества исходных чисел $N$ в $k$ раз время работы программы должно увеличиваться не более чем в $k$ раз. Память, необходимая для хранения всех переменных программы, не должна превышать $1$ килобайта и не должна увеличиваться с ростом $N$.
Перед текстом программы необходимо кратко описать алгоритм решения, указать использованный язык программирования и его версию.
Где здесь ошибаются
Перебирать все пары, получая сложность $O(N^2)$.
Учитывать только пары «чётное число и число, кратное $37$», не обработав числа, кратные $74$.
Добавлять текущий элемент в счётчики до подсчёта пар, из-за чего число может образовать пару само с собой.
Хранить всю последовательность, хотя для решения достаточно нескольких счётчиков.