Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел делилась на 5 и при этом была максимально возможной. Если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0.
Входные данные: Даны два входных файла (файл и файл
), каждый из которых содержит в первой строке количество пар
Каждая из следующих
строк содержит два натуральных числа, не превышающих 10000.
В ответе укажите два числа через пробел: сначала значение искомой суммы для файла затем для файла
f = open(’27a.txt’)
n = int(f.readline())
r = [100000000000]*5
s = 0
for i in range(n):
a, b = map(int, f.readline().split())
s += max(a, b)
d = abs(a - b)
r1 = r[:]
for j in range(5):
if d+r1[j] < r1[(d+r1[j]) % 5]:
r[(d + r1[j]) % 5] = d+r1[j]
if d < r[d % 5]:
r[d % 5] = d
if s % 5 != 0:
s -= r[s % 5]
print(s)
Ответ: 68110 871159315