Задание 17. Информатика. ЕГЭ. Статград. 04.03.2025

Просмотры: 514
Изменено: 4 марта 2025

Файл содержит последовательность натуральных чисел, не превышающих \(100~000.\) Назовём тройкой три идущих подряд элемента последовательности. Определите количество троек, для которых выполняются следующие условия:

  • в тройке есть хотя бы два четырёхзначных числа;
  • в тройке есть число, последняя цифра которого совпадает с последней цифрой максимального элемента всей последовательности;
  • в тройке нет чисел, последняя цифра которых совпадает с последней цифрой минимального элемента всей последовательности.

В ответе запишите два числа: сначала количество найденных троек, затем максимальную величину суммы элементов этих троек.

Файл с данными

Решение:

Python


base = ''

nums = [int(x) for x in open(base + '17.txt')]
d_min = min(nums) % 10
d_max = max(nums) % 10

q = 0
max_sum = 0

for tr in zip(nums, nums[1:], nums[2:]):
    if sum(999 < x < 10_000 for x in tr) > 1 \
        and any(x % 10 == d_max for x in tr) \
        and all(x % 10 != d_min for x in tr):
        q += 1
        max_sum = max(max_sum, sum(tr))

print(q, max_sum)

Ответ: \(46 \,\, 113153\)