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