CF1878E.Iva & Pav

传统题 时间 5000 ms 内存 256 MiB 7 尝试 18 已通过 9 标签

Iva & Pav

题目描述

给定一个长度为 nn 的整数数组 aa。定义

$$f(l,r)=a_l\mathbin{\&}a_{l+1}\mathbin{\&}\cdots\mathbin{\&}a_r,$$

其中 & 表示按位与运算;当 l>rl>r 时,f(l,r)f(l,r) 没有定义。

接下来有 qq 个询问。每个询问给出 l,kl,k,请找出满足 l≤r≤nl\le r\le n 且 f(l,r)≥kf(l,r)\ge k 的最大下标 rr。若不存在这样的 rr,答案为 −1-1。

输入格式

第一行一个整数 tt(1≤t≤1041\le t\le10^4),表示测试组数。

对每组数据:

  • 第一行一个整数 nn(1≤n≤2⋅1051\le n\le2\cdot10^5);
  • 第二行 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n(1≤ai≤1091\le a_i\le10^9);
  • 第三行一个整数 qq(1≤q≤1051\le q\le10^5);
  • 接下来 qq 行,每行两个整数 l,kl,k(1≤l≤n1\le l\le n,1≤k≤1091\le k\le10^9)。

保证所有测试组的 nn 之和不超过 2⋅1052\cdot10^5,且 qq 之和不超过 2⋅1052\cdot10^5。

输出格式

对每个询问,按输入顺序输出对应的最大 rr;若不存在则输出 −1-1。

样例

样例 1

输入:

3
5
15 14 17 42 34
3
1 7
2 15
4 5
5
7 5 3 1 7
4
1 7
5 7
2 3
2 2
7
19 20 15 12 21 7 11
4
1 15
4 4
7 12
5 7

输出:

2 -1 5 
1 5 2 2 
2 6 -1 5 

在线编程 IDE

建议全屏模式获得最佳体验