Решение: Анализ пар последовательности
В файле содержится последовательность натуральных чисел. Её элементы могут принимать целые значения от 1 до 100 000 включительно. Определите количество пар последовательности, в которых остаток от деления хотя бы одного из элементов на 16 равен минимальному элементу последовательности. В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Для решения используется файл с последовательностью чисел.
Решение по шагам
4 шагаСчитываем все числа из файла и находим минимальный элемент последовательности.
$$m = \min(a_1, a_2, \ldots, a_n)$$Рассматриваем все пары соседних элементов $(a_i, a_{i+1})$ для $i$ от 1 до $n-1$.
Пара подходит, если остаток от деления хотя бы одного её элемента на 16 равен минимальному элементу.
$$a_i \bmod 16 = m \;\lor\; a_{i+1} \bmod 16 = m$$Для подходящих пар считаем количество и находим максимальную сумму элементов. Конкретные числовые результаты определяются содержимым прилагаемого файла.
Количество пар и максимальная сумма определяются по содержимому прилагаемого файла.
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Проверяют пары любых элементов вместо только соседних.
Сравнивают с остатком от деления минимального элемента, хотя требуется сравнение с самим минимальным элементом.
Учитывают пару только тогда, когда условие выполняется для обоих элементов.
Не обновляют максимальную сумму отдельно от счётчика пар.