Последовательность состоит из натуральных чисел и завершается числом 0
. Определите значение второго минимального по величине элемента в этой последовательности, то есть элемента, который будет наименьшим, если из последовательности удалить наименьший элемент.
Последнее число 0
не учитывается. Гарантируется, что в последовательности есть хотя бы два элемента (кроме завершающего числа 0
).
Входные данные
На вход подаётся последовательность целых неотрицательных чисел, заканчивающаяся нулём. Все числа в последовательности по значению не превосходят 109
#include <iostream>
#include <limits>
using namespace std;
int main() {
unsigned a, b, c;
a = b = numeric_limits<unsigned>::max();
while (true) {
cin >> c;
if (!c) break;
if (c <= a) {
b = a;
a = c;
} else if (c < b) {
b = c;
}
}
cout << '\n' << b << '\n';
}