e-olymp
Задачі

Стек із захисом від помилок

Стек із захисом від помилок

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

  • push n - Додати у стек число n (значення n задається після команди). Програма повинна вивести ok.
  • pop - Видалити зі стеку останній елемент. Програма повина вивести його значення.
  • back - Програма повинна вивести значення останнього елемента, не видаляючи його зі стеку.
  • size - Програма повинна вивести кількість елементів у стеку.
  • clear - Програма повинна очистити стек і вивести ok.
  • exit - Програма аовинна вивести bye і завершити роботу.

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

Вхідні дані

Кожний рядок містить одну команду.

Вихідні дані

Для кожної команди вивести в окремому рядку відповідний результат.

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