#63. 数据结构问题
数据结构问题
题目描述
坎格鲁斯普雷给了你一个长度为 的序列,你要支持以下三种操作:
1、将整个序列复制一份后加入到序列的末尾,例如,序列原为 ,进行操作 后变成了 ;
2、在序列的末尾加入一个数 ,题目保证操作 给出的 严格单调递增,且最开始给出的 大于一开始序列中的最大数;
3、查询序列中第 大的数。
对于每个操作 ,你需要回答坎格鲁斯普雷的询问。若序列中的数不足 个,那么输出 "-1" (不带引号)。
输入格式
输入第一行两个整数 , ,分别表示序列长度和操作数量。
输入第二行 个整数 ,表示一开始的序列。
接下来 行,先一个整数 ,表示操作类型。若 ,则接下来没有多余的输入;若 ,则接下来一个整数 ,表示往序列末尾加入的数;若 ,则接下来一个整数 ,表示查询序列中第 大的数。
题目保证操作 给出的 严格单调递增,且最开始给出的 大于一开始序列中的最大数。
输出格式
对于每个操作 ,输出一行一个整数,表示答案。若序列中的数不足 个,那么输出 "-1" (不带引号)。
输入输出样例
输入 #1
5 8
4 7 1 3 5
3 4
3 6
1
2 9
3 4
1
2 11
3 2
输出 #1
3
-1
5
9
说明与提示
对于样例 #1:
一开始序列为 。
操作 之后序列为 。
操作 之后序列为 。
相关
在下列比赛中: