该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述(fun.cpp)
对于给定的参数 a,b,定义 f(x)=(x⊕a)−b,其中 ⊕ 表示异或符号。
给定 n 个变量 x1,x2,x3,…,xn,每次给出 q 组询问,对于每组询问,给定 a,b,请你输出一个 i,满足 i∈[1,n),且有 f(xi)×f(xi+1)≤0,如果无解则输出 −1,如果有多组解输出任意一个即可。
输入描述
第一行给定两个整数 n,q。
第二行给定 n 个非负整数 x1,x2,…,xn。
之后 q 行,每行给定两个非负整数 a,b,表示一组询问。
输出格式
输出 q 行,每行包含一个整数,表示答案,如果无解则输出 −1,如果有多组解输出任意一个即可。
样例输入1
5 6
3 5 1 2 4
0 2
1 1
2 3
3 2
4 2
5 8
样例输出1
2
3
2
1
4
-1
样例解释1
当 a=0,b=2 时,f(x2)=3,f(x3)=−1。
当 a=1,b=1 时,f(x3)=−1,f(x4)=2。
当 a=2,b=3 时,f(x2)=3,f(x3)=0。
当 a=3,b=2 时,f(x1)=−2,f(x2)=4。
当 a=4,b=2 时,f(x4)=4,f(x5)=−2。
样例输入2,3
见下发文件。
样例输出2,3
见下发文件。
数据范围
对于 30% 的数据,1≤n,q≤1000。
对于 60% 的数据,1≤n,q≤105。
对于 100% 的数据,1≤n,q≤106,0≤xi,ai,bi≤109。