(Е. Джобс) В файле содержится последовательность натуральных чисел, не превышающих \(10000.\) Симметричной парой называется такая пара чисел в заданной последовательности, элементы которой расположены на равном расстоянии от концов последовательности. Например, в последовательности \(1 \, 2 \, 3 \, 4 \, 3 \, 5 \, 1\) симметричными парами назовем пары \((1,~1), \, (2,~5), \, (3,~3).\) Число \(4\) не образует пару, так как оно находится на равном удалении от краев, следовательно, это одно число, а не два.
Найдите количество симметричных пар таких, что среднее арифметическое максимального и минимального значений последовательности строго меньше значения одного элемента пары и строго больше значения второго элемента пары.
В качестве ответа запишите количество найденных пар и максимальную сумму элементов среди найденных пар.
Решение:
Python
nums = [int(x) for x in open('5925.txt')]
nl = len(nums)
avg = (max(nums) + min(nums)) / 2
q, ms = 0, 0
for a, b in zip(nums[:nl // 2], nums[::-1]):
a, b = min(a, b), max(a, b)
if a < avg < b:
q += 1
ms = max(ms, a + b)
print(q, ms)
Ответ: \(2120 \,\, 14972\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене