U145753 Idea
题目背景
小明看老师讲位运算太无聊了,于是就找起了异或的题目做,他~~请你~~切掉了 $U145408$ 和 $T160344$ ,然后又想出了一个 $Idea$ ~~请你~~来做
题目描述
给出 $n,m$ 和 $a_{1,2...n}$。
$Idea$ 需要对序列 $a$ 进行 $4$ 种查询:
- `1 k` 查询序列中任选任意个数能异或出来的第 $k$ 大值
- `2 k` 查询序列中任选任意个数能异或出来的第 $k$ 小值
- `3 x` 查询序列中任选任意个数能否异或出来 $x$
- `4 x` 查询序列中任选任意个数能异或出来的数中 $x$ 的排名
$Idea$ 需要查询 $m$ 次。
注意,
- “任意个数”可以 指 $0$ 个。
- “排名”指比它小的数的个数 $+1$
输入格式
第 $1$ 行输入 $2$ 个数 $n,m$\
第 $2$ 行输入 $n$ 个数表示序列 $a$\
接下来 $m$ 行,每行 $2$ 个正整数,格式见上题目描述
输出格式
对于每个询问,如果是操作
- `1` 或 `2`,输出 $1$ 个非负整数表示答案,如果能异或出来的数没有 $k$ 个,输出 $-1$
- `3`,如果能,输出 $1$,否则输出 $-1$
- `4`,如果这个数能被异或出来,输出 $1$ 个正整数表示它的排名,否则输出 $-1$
说明/提示
$1\leqslant n,m\leqslant 10^5,0\leqslant a_i,x\leqslant2^{50}$