Codeforces Round 912 (Div. 2)
D2
Maximum And Queries (hard version)
Codeforces
2500
原题
← D1E →
翻译中…

This is the hard version of the problem. The only difference between the two versions is the constraint on $n$ and $q$, the memory and time limits. You can make hacks only if all versions of the problem are solved.

翻译中…

Theofanis really likes to play with the bits of numbers. He has an array $a$ of size $n$ and an integer $k$. He can make at most $k$ operations in the array. In each operation, he picks a single element and increases it by $1$.

翻译中…

He found the maximum bitwise AND that array $a$ can have after at most $k$ operations.

翻译中…

Theofanis has put a lot of work into finding this value and was very happy with his result. Unfortunately, Adaś, being the evil person that he is, decided to bully him by repeatedly changing the value of $k$.

翻译中…

Help Theofanis by calculating the maximum possible bitwise AND for $q$ different values of $k$. Note that queries are independent.

翻译中…

Input

翻译中…

The first line contains two integers $n$ and $q$ ($1 \le n, q \le 10^6$) — the size of the array and the number of queries.

翻译中…

The second line contains $n$ integers $a_1, a_2, \ldots, a_n$ ($0 \le a_i \le 10^6$) — the elements of the array.

翻译中…

Next $q$ lines describe the queries. The $i$-th line contains one integer $k_i$ ($0 \le k_i \le 10^{18}$) — the number of operations that can be done in the $i$-th query.

翻译中…

Output

翻译中…

For each query, print one integer — the maximum bitwise AND that array $a$ can have after at most $k_i$ operations.

翻译中…

Note

翻译中…

In the first test case, in the first query, we add $1$ in the first and last elements of the array.

翻译中…

Thus, the array becomes $[2,3,7,6]$ with bitwise AND equal to $2$.

翻译中…

In the second test case, in the first query, we add $1$ in the first element, $5$ in the second, and $3$ in the third and now all the elements are equal to $5$.

翻译中…

样例

Input #1
4 2
1 3 7 5
2
10
Output #1
2
6
InputCopy OutputCopy
Input #2
3 5
4 0 2
9
8
17
1
3
Output #2
5
4
7
0
1
InputCopy OutputCopy
Input #3
1 2
10
5
2318381298321
Output #3
15
2318381298331
InputCopy OutputCopy
题目信息
题号
1903D2
时间限制
7 s
内存限制
512 MB
标签
位运算
分治
动态规划
贪心

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。