#D1038. 双端队列

双端队列

题目描述

输入 nn,紧接着需要进行 nn 次操作,第 ii 次操作为:“opi,xiop_i, x_i

  • 如果 opi=1op_i = 1,表示需要把 xix_i 从队头压入队列。
  • 如果 opi=2op_i = 2,表示需要把 xix_i 从队尾压入队列。
  • 如果 opi=3op_i = 3,忽略 xix_i,表示需要输出当前队头元素。如果此时队列内没有元素,则输出 -1
  • 如果 opi=4op_i = 4,忽略 xix_i,表示需要输出当前队尾元素。如果此时队列内没有元素,则输出 -1
  • 如果 opi=5op_i = 5,忽略 xix_i,表示需要弹出队头元素。如果此时队列内没有元素,则忽略此次操作。
  • 如果 opi=6op_i = 6,忽略 xix_i,表示需要弹出队尾元素。如果此时队列内没有元素,则忽略此次操作。

输入格式

第一行一个整数 nn
接下来 nn 行,每行都是空格隔开的两个整数,第 ii 行为:“opi,xiop_i, x_i”。

输出格式

对每个操作 2,32,3,输出一行一个整数,即这个操作的答案。

6
2 100
1 10
3 0
5 0
4 0
6 0
10
100

数据规模与约定

对于 100%100\% 的数据,保证 1n1001\le n \le 1001opi61\le op_i \le 61xi10001\le x_i \le 1000