#2939. 二分查找模板题2

二分查找模板题2

题目描述

给定长度为 nn 的严格递增数组 aa,再给出 mm 个数。现要将这 mm 个数插入数组中,使得数组仍然保持严格递增。求这m m 个数的插入位置和最后的数组。

如果有相同的数,你应该忽略这次操作。

输入格式

本题强制在线。

当前的输入为操作的密匙 x。记上次的数(成功插入的数,忽略的不算)在原数组中的位置为lastans lastans(如是第一次操作, lastans=0lastans=0),则本次的数为xlastansx⊕lastans。其中为按位异或运算。 如仍对上述有疑惑,请看下面的 样例解释。 第一行两个整数n,m n,m

第二行n n 个整数,中间用空格隔开。

接下来 mm 行,每行一个正整数表示密匙。

输出格式

第一行m m 个正整数表示每个数的插入位置。如该数被忽略请输出 1-1

第二行输出若干个数表示最终数组。

输入样例 1

5 4
1 3 10 14 20
5
5
15
21

输出样例 1

3 4 6 8
1 3 5 6 10 12 14 17 20

样例解释

第一次,x=5,lastans=0x=5,lastans=0,则插入的数为 50=55⊕0=5

第二次,x=5,lastans=3x=5,lastans=3,则插入的数为 53=65⊕3=6

第三次,x=15,lastans=3x=15,lastans=3,则插入的数为 153=1215⊕3=12

第四次,x=21,lastans=4x=21,lastans=4,则插入的数为 214=1721⊕4=17

数据范围

下表表示数据最大值。

Subtask n m aia_i,x 分值
1 500 10510^5 20
2 5000 10910^9
3 10510^5 $ 10^5$ 60

不保证异或之后的插入数 ≤10910^9