0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
import itertools
import time
n = int(input())
a = []
sm = 0
for i in range(n):
a.append(list(map(int, input().split())))
a[i].sort()
sm += a[i][0] + a[i][1]
mx = 0
a.sort()
for i in itertools.product([0, 1], repeat=n - 1):
if time.process_time() > 0.75:
break
s = 0
for j in range(n):
if j >= 1:
s += a[j][i[j - 1]]
else:
s += a[j][0]
s2 = sm - s
if s % 3 == 0 and s > mx:
mx = s
if s2 > mx and s2 % 3 == 0:
mx = s2
print(mx)
Задача с ЕГЭ: "Даны пары (A[i][0], A[i][1]), в каждой паре нужно выбрать одно число, при этом сумма выбранных чисел должна делится на 3, среди таких сумм найти максимальную"
Автор данного кода не справился нормально соптимизировать решение, поэтому написал какую-то х**ню, результат видите выше (особенно строчка 13)
Оно зашло на тестах, где n <= 20
Запостил:
letipetukh1,
25 Января 2026
Комментарии (0) RSS
Добавить комментарий