Старая стена
Вдоль границы двух государств когда-то была построена новая стена. Она была собрана из одинаковых кубических блоков и ее высота по всей длине была одинаковой и равнялась 5 блокам. Много лет этого было достаточно, чтобы удержать соседние королевства от нападения друг на друга. Однако инспекция, посланная одним из королей к стене, обнаружила, что во многих вертикальных рядах один или несколько верхних блоков разрушились или упали.
Инспекция составила отчет, в котором для каждого вертикального ряда блоков указана его нынешняя высота. Военное министерство сразу же заинтересовалось вопросом: где находится самый уязвимый участок стены? Участок стены является уязвимым, если он целиком состоит из подряд идущих рядов, высота которых меньше 5, и ограничен с обеих сторон либо границами стены, либо рядами блоков максимальной высоты.
принимаю
Answers & Comments
Ответ:
a = int(input())
A = list(map(int, input().split()))
m = [[0, 0, 0]]
for i in range(a):
if A[i] != 5:
n = []
n.append(i + 1)
x = 0
while A[i] != 5:
x += 5 - A[i]
i += 1
if i == a:
break
n.append(i)
n.append(x)
if n[2] > m[0][2]:
m = [[0, 0, 0]]
m[0] = n
elif n[2] == m[0][2]:
m.append(n)
for row in m:
print(*row)
Объяснение:
a = int(input())
A = list(map(int, input().split()))
m = [[0, 0, 0]]
for i in range(a):
if A[i] != 5:
n = []
n.append(i + 1)
x = 0
while A[i] != 5:
x += 5 - A[i]
i += 1
if i == a:
break
n.append(i)
n.append(x)
if n[2] > m[0][2]:
m = [[0, 0, 0]]
m[0] = n
elif n[2] == m[0][2]:
m.append(n)
for row in m:
print(*row)