В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
smirnov27121981
smirnov27121981
19.06.2020 12:14 •  Информатика

Старая стена

Вдоль границы двух государств когда-то была построена новая стена. Она была собрана из одинаковых кубических блоков и ее высота по всей длине была одинаковой и равнялась 5 блокам. Много лет этого было достаточно, чтобы удержать соседние королевства от нападения друг на друга. Однако инспекция, посланная одним из королей к стене, обнаружила, что во многих вертикальных рядах один или несколько верхних блоков разрушились или упали.

Инспекция составила отчет, в котором для каждого вертикального ряда блоков указана его нынешняя высота. Военное министерство сразу же заинтересовалось во где находится самый уязвимый участок стены? Участок стены является уязвимым, если он целиком состоит из подряд идущих рядов, высота которых меньше 5, и ограничен с обеих сторон либо границами стены, либо рядами блоков максимальной высоты.
принимаю

Показать ответ
Ответ:
POLTIT1
POLTIT1
12.10.2020 07:45

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)

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота