e-olymp
Задачі

Стек необмеженого розміру

Стек необмеженого розміру

Реалізуйте структуру даних "стек". Напишіть програму, яка містить опис стека і моделює роботу стека, реалізувавши усі вказані тут методи. Програма зчитує послідовність команд і у залежності від команди виконує ту чи іншу операцію. Після виконання кожної команди програма повинна вивести один рядок. Можливі команди для програми:

push n

Додати у в стек число n (значення n задається після команди). Програма повинна вивести ok.

pop

Видалити зі стеку останній елемент. Програма повинна вивести його значення.

back

Програма повинна вивести значення останнього елементу, не видаляючи його зі стеку.

size

Програма повинна вивести кількість елементів у стеці.

clear

Програма повинна очистити стек і вивести ok.

exit

Програма повинна вивести bye і завершити роботу.

Розмір стеку повмнен бути обмежений лише роміром доступної оперативної пам'яті. Перед виконанням операцій back та pop програма повинна перевіряти, чи міститься у стеці хоча б один елемент. Якщо у вхідних даних зустрічається операція back чи pop, і при цьому стек порожній, то програма повинна замість числового значення вивести рядок error.

Вхідні дані

Описані в умові. Див. також приклад вхідних даних.

Вихідні дані

Описані в умові. Див. також приклад вихідних даних.

Ліміт часу 1 секунда
Ліміт використання пам'яті 256 MiB
Вхідні дані
push 2
push 3
push 5
back
size
pop
size
push 7
pop
clear
size
exit
Вихідні дані
ok
ok
ok
5
3
5
2
ok
7
ok
0
bye

Пояснення: Розмір стеку повинен бути обмежений лише розміром доступної оперативної пам`яті.