题号:NC53304
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
Special Judge, 64bit IO Format: %lld
题目描述
给一个数组

,在数组中选择一个数b,如果b满足
(a[1]⊕b)≤(a[2]⊕b)≤...≤(a[n]⊕b)
则称b是数组a的幻数。此处⊕表示按位异或。
该数组将会被先后修改q次,我们每次只修改一个数。
第一次修改前以及每次修改后,请给出当前数组最小的幻数,如果当前数组不存在幻数请输出-1。
输入描述:
第一行有一个整数n。
第二行有n个整数,表示数组a。
第三行有一个整数q。
在接下来的q行中,每行有两个整数
,表示将
修改为
。
输出描述:
共(q+1)行,每行一个整数,表示当前数组最小的幻数。
备注:
CC-BY-SA,感谢LOJ分享,译文来自 https://loj.ac/problem/2767