Module: (C++) For loop operador. Tarefas típicas


Problem

13 /16


Segundo máximo

Theory Click to read/hide

Tarefa

N números são fornecidos. Encontre o segundo maior elemento em uma sequência.

Este problema permite duas interpretações.
Por exemplo, se recebermos um conjunto de números: \(10\ 15\ 20\ 35\ 14\ 35\ 10\), qual deve ser a resposta ?
Sob o "segundo maior elemento" ou simplesmente "segundo máximo", pode ser entendido como:
1) o valor que estaria na penúltima casa se dispuséssemos (ordenássemos) todos os valores em ordem não decrescente (cada próximo é maior ou igual ao anterior). Então para o conjunto de números considerado a resposta será o valor 35;
2) o valor do elemento, que é maior que apenas o máximo. Então a resposta é 20.
Se houver apenas um elemento máximo no conjunto de números (todos os outros são menores), ambas as interpretações são iguais e a resposta será a mesma para os dois casos, caso contrário, a resposta será diferente.

Considere o primeiro caso (vamos escrever o algoritmo em pseudocódigo).
Para encontrar a resposta, usaremos duas variáveis:
1) maximum1 - valor máximo (primeiro máximo);
2) maximum2 - segundo máximo (nossa resposta).

Se o intervalo de alteração de valores for conhecido, então, como valores iniciais, tomamos um número obviamente menor que o limite inferior do intervalo (por exemplo, com um intervalo de -1000 para 1000 - pegue o número -1001)
Se o intervalo de valores for desconhecido, você pode escrever os dois primeiros números de entrada nos valores iniciais das variáveis ​​max1 e max2 e depois compará-los duas variáveis. input N //número de números entrada a, b máx1 = um max2 = b se b > um, então     max1 = b     máx2 = um
A seguir, consideramos todos os outros elementos (os 2 primeiros já foram visualizados, portanto, começaremos pelo 3º) nc para i de 3 a n insira um se um > maximum1 //houve um valor maior que maximum1 Que max2 = max1 //o antigo primeiro máximo torna-se o segundo max1 = a //o ​​novo elemento será o primeiro máximo de outra forma //próximo elemento não mais que max1 // precisa ser comparado com o valor maximum2 se um > máximo 2 Que max2 = a //toma como o novo valor max2 // max1 não muda neste caso Todos Todos kts
Tente implementar esse algoritmo você mesmo.

Problem

Dados N inteiros. Encontre o segundo maior elemento da sequência (o elemento que seria o penúltimo se a entrada fosse classificada em ordem não decrescente).

Entrada
A primeira linha especifica o número N (\(2<=N<=10^4\)). Seguido por N linhas, cada linha um inteiro não excedendo 105 módulo. 

Impressão
Imprima o segundo elemento máximo.

 

Exemplos
# Entrada Saída
1 7
10
15
20
35
14
35
10
35
2 5
10
5
7
11
9
10