eolymp
bolt
Try our new interface for solving problems
Problems

Стек неограниченного размера

Стек неограниченного размера

Реализуйте структуру данных "\textit{стек}". Напишите программу, содержащую описание стека и моделирующую работу стека, реализовав все указанные здесь методы. Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести одну строчку. Возможные команды для программы: \textbf{push n} Добавить в стек число \textbf{n} (значение \textbf{n} задается после команды). Программа должна вывести \textbf{ok}. \textbf{pop} Удалить из стека последний элемент. Программа должна вывести его значение. \textbf{back} Программа должна вывести значение последнего элемента, не удаляя его из стека. \textbf{size} Программа должна вывести количество элементов в стеке. \textbf{clear} Программа должна очистить стек и вывести \textbf{ok}. \textbf{exit} Программа должна вывести \textbf{bye} и завершить работу. Размер стека должен быть ограничен только размером доступной оперативной памяти. Перед исполнением операций \textbf{back} и \textbf{pop} программа должна проверять, содержится ли в стеке хотя бы один элемент. Если во входных данных встречается операция \textbf{back} или \textbf{pop}, и при этом стек пуст, то программа должна вместо числового значения вывести строку \textbf{error}. \InputFile Описаны в условии. См. также пример входных данных. \OutputFile Описаны в условии. См. также пример выходных данных.
Time limit 1 second
Memory limit 256 MiB
Input example #1
push 2
push 3
push 5
back
size
pop
size
push 7
pop
clear
size
exit
Output example #1
ok
ok
ok
5
3
5
2
ok
7
ok
0
bye

Example description: Размер стека должен быть ограничен только размером доступной оперативной памяти.