Решение: Поиск троек в последовательности
В файле содержится последовательность целых чисел. Её элементы могут принимать целые значения от $-100\,000$ до $100\,000$ включительно. Определите количество троек последовательности, в которых все числа одного знака, при этом произведение минимального и максимального элементов тройки больше квадрата минимального элемента последовательности, который оканчивается на 15 и является трёхзначным числом. В ответе запишите количество найденных троек чисел, затем минимальное из произведений максимального и минимального элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Для вычислений используйте прилагаемый файл с последовательностью чисел.
Решение по шагам
5 шаговИз последовательности необходимо выбрать все окна длины 3: $(a_i,a_{i+1},a_{i+2})$.
Сначала одним проходом находится минимальный элемент, который является трёхзначным числом и оканчивается на 15. Обозначим его через $m$.
Для каждой тройки проверяется условие однозначности знака: либо все три элемента положительны, либо все три отрицательны.
Для подходящих по знаку троек вычисляется $p=\min(a_i,a_{i+1},a_{i+2})\cdot\max(a_i,a_{i+1},a_{i+2})$. Тройка учитывается, если $p>m^2$.
Затем выводятся количество учтённых троек и минимальное значение $p$ среди них.
Числовой ответ нельзя определить без содержимого прилагаемого файла.
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Проверяют любые три элемента, а не только три идущих подряд.
Ищут минимальное число, оканчивающееся на 15, без проверки, что оно трёхзначное.
Сравнивают с квадратом минимального элемента всей последовательности, а не минимального трёхзначного числа, оканчивающегося на 15.
Не проверяют, что все элементы тройки имеют один знак.