Последовательность натуральных чисел характеризуется числом и
, где
—- максимальная сумма цепочки, кратная
, а
–– максимальная сумма цепочки, кратная
. Найдите
, сумму
и
, разделяя их пробелом. Гарантируется, что обе суммы в последовательности есть. Цепочкой называется подпоследовательность символов, идущих подряд в исходной последовательности.
В файле первым числом идет количество чисел, а далее сами числа.
В качестве ответа укажите через пробел ответ для файла А и ответ для файла 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, maximx + maximy)
Ответ: 918 1314 2232 7503445329 7503462912 15006908241