Последовательность натуральных чисел характеризуется числом X и Y, где X – максимальная сумма цепочки, кратная 17, а Y – максимальная сумма цепочки, кратная 6. Найдите сумму X и Y. Гарантируется, что обе суммы в последовательности есть. Цепочкой называется подпоследовательность символов, идущих подряд в исходной последовательности.
В ответе укажите два числа: сначала значение искомой суммы для файла А, затем для файла B.
f = open(’fileA.txt.’)
n = int(f.readline())
minsx = [10e16] * 17
minsx[0] = 0
minsy = [10e16] * 6
minsy[0] = 0
summ, maximx, maximy = 0, 0, 0
for i in range(n):
x = int(f.readline())
summ += x
ostx = summ % 17
osty = summ % 6
if summ - minsx[ostx] > maximx:
maximx = summ - minsx[ostx]
if summ < minsx[ostx]:
minsx[ostx] = summ
if summ - minsy[osty] > maximy:
maximy = summ - minsy[osty]
if summ < minsy[osty]:
minsy[osty] = summ
print(maximx + maximy)
Ответ: 21924 49911775