In [1]:
from random import randrange
n = 15
pole = [randrange(1, 20) for _ in range(n)]
In [3]:
print(*pole)
17 12 2 19 5 13 18 12 6 3 7 5 4 19 13
In [2]:
k = 2
maxim = 0
for p1 in range(n):
for p2 in range(p1+k, n):
for p3 in range(p2+k, n):
maxim = max(maxim, sum(pole[p1:p1+k]+pole[p2:p2+k]+pole[p3:p3+k]))
maxim
Out[2]:
92
In [15]:
for k in range((n+2)//3):
print(k, [sum(pole[i:i+k]) for i in range(n-k+1)])
maxim = 0
m1, m2, m3 = [0]*3
for p1 in range(n):
for p2 in range(p1+k, n):
for p3 in range(p2+k, n):
h = sum(pole[p1:p1+k]+pole[p2:p2+k]+pole[p3:p3+k])
if h > maxim:
maxim = h
m1, m2, m3 = p1, p2, p3
print(k, maxim, [m1, m2, m3])
0 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 0 0 [0, 0, 0] 1 [17, 12, 2, 19, 5, 13, 18, 12, 6, 3, 7, 5, 4, 19, 13] 1 56 [3, 6, 13] 2 [29, 14, 21, 24, 18, 31, 30, 18, 9, 10, 12, 9, 23, 32] 2 92 [0, 5, 13] 3 [31, 33, 26, 37, 36, 43, 36, 21, 16, 15, 16, 28, 36] 3 112 [1, 5, 12] 4 [50, 38, 39, 55, 48, 49, 39, 28, 21, 19, 35, 41] 4 140 [0, 5, 11]
In [5]:
print(*pole)
17 12 2 19 5 13 18 12 6 3 7 5 4 19 13