Контест Junior Контейнеры STL изнутри обновлено

Двусторонняя очередь с доступом по индексу

Условие

Реализуйте обработку команд над двусторонней очередью целых чисел:

  • push_back x, push_front x: добавить в конец или начало;
  • pop_back, pop_front: удалить и вывести элемент с конца или начала, или error, если очередь пуста;
  • at i: вывести элемент с индексом i (с нуля, от начала), или error, если индекс вне диапазона.

Ввод: q (1 ≤ q ≤ 3000), затем команды. |x| ≤ 10⁹, |i| ≤ 10⁴.

Вывод: ответы на pop_* и at.

Пример 1

Ввод:

6
push_back 1
push_front 2
at 0
at 1
pop_back
pop_back

Вывод:

2
1
1
2

Пример 2

Ввод:

3
pop_front
at 0
at -1

Вывод:

error
error
error

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.