#2817. 序列魔幻形
序列魔幻形
题目描述
给定一个 N 个数的序列,M 次操作,每次操作为下列操作之一。求最后的序列。
操作 1:在尾部插入一个数 X。
操作 2:删除尾部元素。
操作 3:在第 X 位置插入一个数 Y。
操作 4:删除第 X 位置的数。
操作 5:删除第 X 到 Y 位置的数,注意范围的含头不含尾原则,从位置 X到位置 Y 表示包含位置 X 的元素但不包含位置 Y 的元素,类似数学上的左闭右开区间 [X, Y)。
操作 6:获取 序列 的大小。
操作 7:清空 序列 的数据。
输入格式
第一行两个整数 N,M( N,M ≤ 100000)含义见试题描述。
第二行 N 个整数,表示原来的序列。
接下来 M 行,每行第一个数 OPT,表示操作类型。
对于操作 1,接下来一个数 X,含义见题面描述。
对于操作 2,删除尾部元素。
对于操作 3,接下来两个数 X,Y,含义见题面描述,保证 0 ≤ X ≤ 当前数的个数,若 X = 0,表示在序列开头插入。
对于操作 4,接下来一个数 X,含义见题面描述,保证 1 ≤ X ≤当前数的个数。
对于操作 5,接下来两个数 X,Y,含义见题面描述,保证 0 ≤ X ≤ 当前数的个数,若 X = 0,表示在数组开头删除。
对于操作 6,输出当前 序列 的大小。
对于操作 7,清空当前 序列。
输出格式
输出若干个数,表示最后的序列。如果序列为空,输出null
5 9
1 7 9 13 5
1 15
2
6
3 0 3
6
3 3 5
6
4 2
1 2
5
6
7
3 1 5 9 13 5 2
数据范围
N,M ≤ 100000