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

Просмотры: 1038
Изменено: 1 февраля 2025

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

  • в тройке есть четырёхзначные числа;
  • в тройке не более одного числа, у которого остаток от деления на \(5\) равен остатку от деления на \(5\) минимального элемента всей последовательности;
  • в тройке не менее двух чисел, у которых остаток от деления на \(7\) равен остатку от деления на \(7\) максимального элемента всей последовательности.

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

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

Решение:

Python


base = ''
nums = [int(x) for x in open(base + '17.txt')]
r5 = min(nums) % 5
r7 = max(nums) % 7

q = 0
max_sum = 0

for tr in zip(nums, nums[1:], nums[2:]):
    if any(999 < x < 10_000 for x in tr) and sum(x % 5 == r5 for x in tr) < 2 \
       and sum(x % 7 == r7 for x in tr) > 1:
        q += 1
        max_sum = max(max_sum, sum(tr))

print(q, max_sum)

Ответ: \(103 \,\, 194888\)