Codeforces Round 735 (Div. 2) |
---|
Закончено |
Вам даны $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ и целое число $$$k$$$. Найдите максимальное значение $$$i \cdot j - k \cdot (a_i | a_j)$$$ среди всех пар $$$(i, j)$$$ целых чисел таких, что $$$1 \le i < j \le n$$$. Здесь $$$|$$$ обозначает операцию побитового ИЛИ.
Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 10\,000$$$) — количество наборов входных данных.
Первая строка каждого набора входных данных содержит два целых числа $$$n$$$ ($$$2 \le n \le 10^5$$$) и $$$k$$$ ($$$1 \le k \le \min(n, 100)$$$).
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$0 \le a_i \le n$$$).
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превышает $$$3 \cdot 10^5$$$.
Для каждого тестового случая выведите одно целое число — максимально возможное значение $$$i \cdot j - k \cdot (a_i | a_j)$$$.
4 3 3 1 1 3 2 2 1 2 4 3 0 1 2 3 6 6 3 2 0 0 5 6
-1 -4 3 12
Пусть $$$f(i, j) = i \cdot j - k \cdot (a_i | a_j)$$$.
В первом наборе входных данных,
Таким образом, максимум равен $$$f(1, 2) = -1$$$.
В четвертом наборе входных данных максимум равен $$$f(3, 4) = 12$$$.
Название |
---|