Задача № 176
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -100 000 до 100 000 включительно. Определите количество троек элементов последовательности, в которых только один из трёх элементов оканчивается на 5, а сумма элементов тройки не больше максимального элемента последовательности, оканчивающегося на 5 и являющегося трёхзначным числом.
В ответе запишите количество найденных троек чисел, затем максимальную из сумм элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд последовательности.

ЕГКР 27 апреля 2024 года (Московский пробник)
Прокрути, чтобы прочитать решение задачи
Ты уверен, что хочешь это сделать?
Удачного чтения!
Решение
Код из видео
# откроем файл и разделим построчно
file = open('17.txt').read().splitlines()
# преобразуем каждый элемент к целым числам
file = list(map(int, file))
# найдём максимальный трёхзначный элемент,
# который оканчивается на «5»
max5 = max([x for x in file if x % 10 == 5 and 100 <= x <= 999])
# объявим переменные для максимальной суммы и количества
maxS = -300_000
count = 0
# запустим цикл по файлу
for i in range(len(file)):
# тройка — это три элемента подряд
three = file[i:i+3]
# найдём в тройке количество элементов,
# которые оканчиваются на «5»
three5 = len([x for x in three if x % 10 == 5])
# проверим условия: элементов три, только один оканчивается на «5»
# и сумма тройки меньше предварительно найденного элемента
if (len(three) == 3 and three5 == 1 and sum(three) <= max5):
count += 1
maxS = max(maxS, sum(three))
# выводим ответ
print(count, maxS)