В текстовом файле записан набор натуральных чисел, не превышающих 109.
Гарантируется, что все числа различны. Необходимо определить, сколько в наборе таких пар чётных чисел, что их среднее арифметическое тоже присутствует в файле, и чему равно наибольшее из средних арифметических таких пар.
Входные данные
Первая строка входного файла содержит целое число N – общее количество чисел в наборе. Каждая из следующих N строк содержит одно число.
Пример входного файла
6
3
8
14
11
2
17
В данном случае есть две подходящие пары: 8 и 14 (среднее арифметическое 11), 14 и 2 (среднее арифметическое 8).
В ответе надо записать числа 2 и 11.
В ответе запишите два целых числа: сначала количество пар, затем наибольшее среднее арифметическое.
Ответ:
количество пар наибольшее среднее арифметическоеТренировочный вариант №4 от 17 марта 2021 года СтатГрад Вариант ИН2010401
Решение:
Мы использовали множество, потому что поиск в множестве быстрее, чем поиск в списке
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
f = open('stat17032021.txt') n = int(f.readline()) e = [] o = set() for i in range(n): x = int(f.readline()) if x % 2 == 0: e.append(x) else: o.add(x) k = 0 m = 0 ee = set(e) for i in range(len(e)-1): for j in range(i+1, len(e)): sr = (e[i] + e[j]) // 2 if sr in ee or sr in o: k += 1 if sr > m: m = sr print(k, m) |
Ответ: 15 976339247
