Dada uma lista de números inteiros, sua tarefa é gerar o segundo maior valor nos primeiros k elementos, para cada k entre 2 e o comprimento da lista de entrada.
Em outras palavras, imprima o segundo maior valor para cada prefixo da entrada.
Você pode gerar um valor arbitrário para o primeiro elemento (onde k = 1) ou simplesmente omitir esse valor, pois não há um segundo máximo para uma lista de 1 elemento. Você pode assumir que há pelo menos 2 elementos na entrada.
O menor código vence.
Exemplos
Input:
1 5 2 3 5 9 5 8
Output:
1 2 3 5 5 5 8
Input:
1 1 2 2 3 3 4
Output:
1 1 2 2 3 3
Input:
2 1 0 -1 0 1 2
Output:
1 1 1 1 1 2
1
estritamente falando, não é o segundo maior valor de 1,1
(segundo exemplo); é o segundo valor quando classificado em ordem decrescente.
-1, 0, 0, 1, 1, 2
para o último caso de teste.)
k
determinado?