Районная олимпиада 2019-2020 информатика


Задача E. Второй максимум

Ограничение по времени:
1 секунда
Ограничение по памяти:
256 мегабайт

Вам дана последовательность $a_1, a_2...a_n$ длины $n$. Для каждого $k$ от $2$ до $n$ найдите значение второго по величине элемента среди первых $k$ элементов последовательности $a$.
Формат входного файла
В первой строке одно целое число $n$ $(1 <= n <= 10^5)$. Во второй строке $n$ целых чисел $a_1, a_2... a_n$ $(1 <= a_i <= 10^9)$.
Формат выходного файла
Выведите ответ для каждого $k$ от $2$ до $n$.
Система оценки
Данная задача содержит $10$ тестов. Каждый тест оценивается в $10$ баллов:
  1. $1 <= n <= 100$. Тесты с номерами 1-3.
  2. $1 <= n <= 5000$. Тесты с номерами 4-6.
  3. $1 <= n <= 10^5$. Тесты с номерами 7-10.
Пример:
Вход
7
1 2 3 3 7 5 6
Ответ
1 2 3 3 5 6
Замечание
В примере:
  1. $k=2$. Первые $k$ чисел $\underline{1}, 2$. Ответ $1$
  2. $k=3$. Первые $k$ чисел $1, \underline{2}, 3$. Ответ $2$
  3. $k=4$. Первые $k$ чисел $1, 2, \underline{3}, 3$. Ответ $3$
  4. $k=5$. Первые $k$ чисел $1, 2, \underline{3}, 3, 7$. Ответ $3$
  5. $k=6$. Первые $k$ чисел $1, 2, 3, 3, 7, \underline{5}$. Ответ $5$
  6. $k=7$. Первые $k$ чисел $1, 2, 3, 3, 7, 5, \underline{6}$. Ответ $6$
( Aibar Kuanyshbay )
посмотреть в олимпиаде

Комментарий/решение:

пред. Правка 2   1
2019-12-15 17:07:10.0 #

пред. Правка 2   -1
2019-12-15 17:06:55.0 #

  1
2019-12-15 17:06:14.0 #

показать/скрыть код

пред. Правка 2   1
2020-02-12 14:40:35.0 #

показать/скрыть код

пред. Правка 2   0
2022-01-18 11:16:39.0 #

DELETED

пред. Правка 2   0
2020-10-26 14:44:45.0 #

показать/скрыть код

  0
2020-11-03 10:25:57.0 #

показать/скрыть код

  13
2020-11-09 00:46:18.0 #

показать/скрыть код

  0
2020-11-28 10:29:50.0 #

показать/скрыть код

  1
2022-02-17 17:16:39.0 #

показать/скрыть код

  0
2023-11-27 16:03:04.0 #

n = int(input()) # Ввод числа n

array = list(map(int, input().split())) # Ввод списка через запятую

for k in range(2, n+1): # проход по всем отрезкам от 1 до n

temporary = array[:k]# временный список равен срезу последних k эл-ов

temporary.remove(max(temporary)) # Убираем максимальный эл-нт из списка

print(max(temporary), end=" ") # Вывод второго максимального эл-а, в строку через пробел