Ответ: Максимальная пара с делителем 19
Алгоритм использует четыре максимальных значения: максимальное число каждой чётности и максимальное число каждой чётности, кратное 19. Все числа обрабатываются за один проход; время работы $O(N)$, дополнительная память $O(1)$. Программа приведена на Python 3.
У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.
Дана последовательность $N$ целых положительных чисел. Рассматриваются все пары элементов последовательности, разность которых чётна, и в этих парах хотя бы одно из чисел делится на 19. Порядок элементов в паре неважен. Среди всех таких пар требуется найти и вывести пару с максимальной суммой элементов. Если одинаковую максимальную сумму имеет несколько пар, можно вывести любую из них. Если подходящих пар нет, необходимо вывести два нуля.
В первой строке входных данных задаётся количество чисел $N$ ($2 \leq N \leq 10\,000$). В каждой из последующих $N$ строк записано одно натуральное число, не превышающее $10\,000$.
Напишите эффективную по времени и памяти программу для решения задачи. Эффективная по времени программа должна работать за время, не превышающее линейное относительно $N$. Память, необходимая для хранения всех переменных программы, не должна превышать 1 Кбайт и не должна увеличиваться с ростом $N$.
Перед текстом программы кратко опишите алгоритм решения и укажите использованный язык программирования и его версию.
Где здесь ошибаются
Проверять только пары, в которых первое число кратно 19, и пропускать случай, когда кратно 19 второе число.
Считать подходящими числа разной чётности.
Обновлять максимальные значения до проверки пары с текущим числом и тем самым использовать один и тот же элемент дважды.
Хранить всю последовательность, нарушая требование по памяти.
Выводить нули, если подходящей пары нет, но не обрабатывать случай отсутствия значения, кратного 19, для нужной чётности.