eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

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

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

Реалізуйте структуру даних "\textit{дек}". Напишіть програму, яка містить опис дека і моделює роботу дека, реалізувавши усі вказані тут методи. Програма зчитує послідовність команд і у залежності від команди виконує ту чи іншу операцію. Після виконання кожної команди програма повинна вивести один рядок. Можливі команди для програми: \textbf{push_front} Додати (покласти) у початок дека новий елемент. Програмиа повинна вивести \textbf{ok}. \textbf{push_back} Додати (покласти) у кінець дека новий елемент. Програма повинна вивести \textbf{ok}. \textbf{pop_front} Дістати з дека перший елемент. Програма повинна вивести його значення. \textbf{pop_back} Дістати з дека останній елемент. Програма повинна вивести його значення. \textbf{front} Взнати значення першого элементу (не видаляючи його). Програма повинна вивести його значення. \textbf{back} Взнати значення останнього элементу (не видаляючи його). Програма повинна вивести його значення. \textbf{size} Вивести кількість елементів у декі. \textbf{clear} Очистити дек (видалити з нього усі елементи) і вивести \textbf{ok}. \textbf{exit} Програма повинна вивести \textbf{bye} і завершити роботу. Розмір дека повинен бути обмежений лише розміром доступної оперативної пам'яті. Перед виконанням операцій \textbf{pop_front}, \textbf{pop_back}, \textbf{front}, \textbf{back} програма повинна перевіряти, чи міститься у декі хоча б один елемент. Якщо у вхідних даних зустрічається операція \textbf{pop_front}, \textbf{pop_back}, \textbf{front}, \textbf{back}, і при цьому дек порожній, то програма повинна замість числового значення вивести рядок \textbf{error}. \InputFile Описані в умові. Див. також приклад вхідних даних. \OutputFile Описані в умові. Див. також приклад вихідних даних.
Ліміт часу 1 секунда
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
push_back 1
back
exit
Вихідні дані #1
ok
1
bye