Module: (C++) Para operador de bucle. Tareas típicas


Problem

13 /16


Segundo máximo

Theory Click to read/hide

Tarea

Se dan N números. Encuentra el segundo elemento más grande en una secuencia.

Este problema admite dos interpretaciones.
Por ejemplo, si nos dan un conjunto de números: \(10\ 15\ 20\ 35\ 14\ 35\ 10\), ¿cuál debería ser la respuesta? ?
Bajo el "segundo elemento más grande" o simplemente "segundo máximo", puede entenderse como:
1) el valor que estaría en el penúltimo lugar si ordenáramos (ordenamos) todos los valores en orden no decreciente (cada uno siguiente es mayor o igual que el anterior). Entonces para el conjunto de números considerado la respuesta será el valor 35;
2) el valor del elemento, que es mayor que solo el máximo. Entonces la respuesta es 20.
Si solo hay un elemento máximo en el conjunto de números (todos los demás son menores), entonces ambas interpretaciones son iguales y la respuesta será la misma para ambos casos; de lo contrario, la respuesta será diferente.

Considere el primer caso (escribiremos el algoritmo en pseudocódigo).
Para encontrar la respuesta, utilizaremos dos variables:
1) maximum1 - valor máximo (primer máximo);
2) maximum2 - segundo máximo (nuestra respuesta).

Si se conoce el cambio de rango de valores, entonces como valores iniciales tomamos un número que es obviamente menor que el límite inferior del rango (por ejemplo, con un rango de -1000 a 1000 - tomar el número -1001)
Si se desconoce el rango de valores, puede escribir los dos primeros números de entrada en los valores iniciales de las variables max1 y max2, y luego compararlos dos variables entrada N //número de números entrada a, b máx1 = un máx2 = b si b > una, entonces     máx1 = b     máx2 = un
A continuación, consideramos todos los demás elementos (los 2 primeros ya se han visto, por lo que comenzaremos desde el 3) nc para i de 3 a n ingrese un si un > maximo1 //hubo un valor mayor que maximo1 Eso max2 = max1 //el primer máximo anterior se convierte en el segundo max1 = a //el nuevo elemento será el primer máximo de lo contrario //siguiente elemento no mas que max1 // necesita ser comparado con el valor maximo2 si un > máximo 2 Eso max2 = a //tomarlo como el nuevo valor max2 // max1 no cambia en este caso Todo Todo nudos
Intente implementar este algoritmo usted mismo.

Problem

Dados N enteros. Encuentre el segundo elemento más grande de la secuencia (el elemento que sería el penúltimo si la entrada se ordenara en orden no descendente).

Entrada
La primera línea especifica el número N (\(2<=N<=10^4\)). Seguido de N líneas, cada línea un número entero que no supere los 105 módulo. 

Impresión
Imprime el segundo elemento máximo.

 

Ejemplos

# Entrada Salida
1 7
10
15
20
35
14
35
10
35
2 5
10
5
7
11
9
10