题目背景

题目描述
久岛鸥给了你一个长度为 n 的非负整数序列 a1∼n。
接下来有 q 次询问,每次询问给出非负整数 L,R,求
x=LmaxR(i=1∑npopcount(ai+x))其中 popcount(x) 表示 x 在二进制形式下数位 1 的出现次数。
输入格式
第一行,两个整数 n,q。
第二行给出 n 个整数代表序列 a1∼n。
随后 q 行,每行两个整数 L,R,代表一次询问。
输出格式
输出 q 行,第 i 行一个整数代表第 i 次询问的答案。
提示
样例解释
对于样例 1,第一组询问取 x=10 时达到最大值,即 popcount(11)×3+popcount(14)×2+popcount(15)=3×3+2×3+4=19。
容易验证 x 取范围内其他值都不能使答案更大。
数据范围
本题开启捆绑测试。
令 V 为数组中元素与询问区间端点的最大值。
Subtask |
n≤ |
q≤ |
V≤ |
Score |
1 |
10 |
5 |
2 |
105 |
5×105 |
103 |
3 |
105 |
15 |
4 |
104 |
109 |
10 |
5 |
105 |
1 |
15 |
6 |
5×105 |
20 |
7 |
5×105 |
105 |
8 |
5×105 |
10 |
9 |
1011 |
0 |
对于所有数据,保证 1≤n,q≤5×105,0≤L≤R≤1011,0≤ai≤1011。
子任务 6,7,9 的时间限制为 5 秒,其余子任务均为 3 秒。