
Набор 1: n = 2 c = [5, 17] Вывод: "5 17" или "17 5" ------------ Набор 2: n = 2 c = [17, 51] Вывод: "17 51" или "51 17" ------------ Набор 3: n = 2 c = [51, 17] Вывод: "17 51" или "51 17" ------------ Набор 4: n = 3 c = [85, 51, 17] Вывод: "51 85" или "85 51"
Идея оптимального решения 27 #01
Пусть a1, b1 = оба нечетные, где a1 — макс неч кр 17.
Возможны два варианта:
1. a1 — и есть макс неч вообще, тогда b1 — должно быть второе по величине неч число (кратность b1 не важна).
2. a1 — не явл макс неч в целом, то b1 — макс неч. (оно не будет кратно 17).
———————————————
Пусть a2, b2 = оба четные, где a2 — макс четн кр 17.
Возможны два варианта:
1. a2 — и есть макс четн вообще, тогда b2 — второе по величине чет число (кратность b2 не важна).
2. a2 — не явл макс четн в целом, то b2 — макс четн (оно не будет кратно 17).
Остается только сравнить суммы.
max_odd_17 = 0 sec_max_odd = 0 max_even_17 = 0 sec_max_even = 0 N = int(input()) for i in range(N): numb = int(input()) if numb % 2 == 0: if numb % 17 == 0 and numb > max_even_17: if sec_max_even < max_even_17: sec_max_even = max_even_17 max_even_17 = numb else: sec_max_even = max(numb, sec_max_even) else: if numb % 17 == 0 and numb > max_odd_17: if sec_max_odd < max_odd_17: sec_max_odd = max_odd_17 max_odd_17 = numb else: sec_max_odd = max(numb, sec_max_odd) if max_odd_17 > 0 and max_even_17 > 0 and max_odd_17+sec_max_odd > max_even_17+sec_max_even: print(max_odd_17, sec_max_odd) elif max_even_17 > 0 and sec_max_even > 0: print(max_even_17, sec_max_even) elif max_odd_17 > 0 and sec_max_odd > 0: print(max_odd_17, sec_max_odd) else: print(0, 0)