Codeforces Round 912 (Div. 2) |
---|
Закончено |
Это сложная версия задачи. Единственное различие между двумя версиями — это ограничения на $$$n$$$ и $$$q$$$, а также ограничения по времени и памяти. Вы можете делать взломы, только если обе версии задачи решены.
Теофанису очень нравится играть с битами чисел. У него есть массив $$$a$$$ длины $$$n$$$ и целое число $$$k$$$. Он может совершить не более $$$k$$$ операций с массивом, в каждой из которых он выбирает один элемент и увеличивает его на $$$1$$$.
Он нашел максимальное побитовое И, которое может иметь массив $$$a$$$ после выполнения не более чем $$$k$$$ операций.
Теофанис приложил много усилий, чтобы найти это значение, и был очень доволен своим результатом. К сожалению, Адас, будучи злым человеком, решил поиздеваться над ним, неоднократно меняя значение $$$k$$$.
Помогите Теофанису, вычислив максимально возможное побитовое И для $$$q$$$ различных значений $$$k$$$.
Первая строка содержит два целых числа $$$n$$$ и $$$q$$$ ($$$1 \le n, q \le 10^6$$$) — длину массива и количество запросов.
Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$0 \le a_i \le 10^6$$$) — элементы массива.
Следующие $$$q$$$ строк описывают запросы. В $$$i$$$-й строке содержится одно целое число $$$k_i$$$ ($$$0 \le k_i \le 10^{18}$$$) — количество операций, которое может быть выполнено в $$$i$$$-м запросе.
Для каждого запроса выведите одно целое число — максимальное побитовое И, которое может иметь массив $$$a$$$ после выполнения не более чем $$$k_i$$$ операций.
4 21 3 7 5210
2 6
3 54 0 2981713
5 4 7 0 1
1 21052318381298321
15 2318381298331
В первом наборе входных данных, в первом запросе, мы добавляем $$$1$$$ к первому и последнему элементу массива.
Таким образом, массив становится равен $$$[2,3,7,6]$$$ с побитовым И, равным $$$2$$$.
Во втором наборе входных данных, в первом запросе, мы добавляем $$$1$$$ к первому элементу, $$$5$$$ ко второму и $$$3$$$ к третьему, после чего все элементы становятся равны $$$5$$$.
Название |
---|