Алгоритм решения задания 15. Часть 3
Учимся решать 15 задания третьего типа
Читать
В файле содержится последовательность натуральных чисел. Её элементы могут принимать целые значения от 1 до 100 000 включительно.
Определите количество троек последовательности, в которых только одно из чисел является двузначным, а сумма элементов тройки меньше минимального элемента последовательности, оканчивающегося на 25.
В ответе запишите количество найденных троек, затем максимальную из сумм элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента
with open('1722.txt') as f:
data = list(map(int, f))
min_25 = min(i for i in data if i % 100 == 25)
def f1(nums):
return sum(10 <= num <= 99 for num in nums) == 1
def f2(nums):
return sum(nums) < min_25
ans = []
for elements in zip(data, data[1:], data[2:]):
if f1(elements) and f2(elements):
ans.append(sum(elements))
print(len(ans), max(ans))
