For Loop. Typical tasks




Task:  Given N numbers. Find the second largest maximum element of the sequence..

This task has two interpretations.
For example, if we are given a set of numbers: 10 15 20 35 14 35 10, then what should be the answer?
By "second largest maximum element" or simply "second maximum", we can understand:
1) the value that would have stood in the penultimate place if we had all the values ??arranged (sorted) in non-decreasing order (each next one is greater than or equal to the previous one). Then for the considered set of numbers the answer will be the value 35
2) the value of the element, of which only the maximum is greater. Then the answer is 20
If there is only one maximum element in the set of numbers (all the others are smaller), then both interpretations coincide, and the answer will be the same for both cases, otherwise the answer will be different.

Consider the first case (the algorithm will be written in pseudocode).
To find the answer, we will use two variables:
1) maximum1 - maximum value (first maximum)
2) maximum2 - second maximum (our answer)
If the range of variation of the values is known, then as the initial values we take a number that is obviously less than the lower boundary of the range (for example, for a range from -1000 to 1000 - take the number -1001)
If the range of values is unknown, then the first two input numbers can be written in the initial values of the variables maximum 1 and maximum 2, and then compare these two variables

input N //amount of numbers
input a, b
maximum1 = а
maximum2 = b
if b > a then
    maximum1 = b
    maximum2 = a
Next, we consider all the other elements (the first 2 have already been viewed, so we will start from the 3rd)
for i <-- 3 to n
    input а
    if а > maximum1 //a value greater than the maximum1
      then 
        maximum2 = maximum1 //the former first high will become the second
        maximum1 = а  //the first high will be a new element
      else
       // next element no more than maximum1
       // it must be compared with a value of maximum 2
        if а > maximum2 then
            maximum2 = а  // accept it as a new value maximum 2
                          // maximum1 in this case does not change
Try to implement this algorithm yourself

Task
Time limit: 1000 ms,
Memory limit: 256 Mb

Given N integers. Find the second largest element of the sequence (the element that would be the penultimate if the input data were sorted non-decreasingly)

Input:
the first line sets the number N (\(2<=N<=10^5\))
then there are N lines, one integer in each line
Output:
print the second maximum element

Examples
Input Output
1 7
10
15
20
35
14
35
10
35
2 5
10
5
7
11
9
10

Prohibited statements:max;min;sort

Auto CHOOSE THE PROGRAMMING NECESSARY LANGUAGE!
Attach the program source file:
or enter the source code in the language:

Rules for designing programs and a list of errors during automatic task verification
           

Results: