CF1554B.Cobb

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given nn integers a1,a2,,ana_1, a_2, \ldots, a_n and an integer kk . Find the maximum value of ijk(aiaj)i \cdot j - k \cdot (a_i | a_j) over all pairs (i,j)(i, j) of integers with 1i<jn1 \le i < j \le n . Here, | is the bitwise OR operator.

输入格式

The first line contains a single integer tt ( 1t100001 \le t \le 10\,000 ) — the number of test cases.

The first line of each test case contains two integers nn ( 2n1052 \le n \le 10^5 ) and kk ( 1kmin(n,100)1 \le k \le \min(n, 100) ).

The second line of each test case contains nn integers a1,a2,,ana_1, a_2, \ldots, a_n ( 0ain0 \le a_i \le n ).

It is guaranteed that the sum of nn over all test cases doesn't exceed 31053 \cdot 10^5 .

输出格式

For each test case, print a single integer — the maximum possible value of max(ijk(ai or aj))\max(i\cdot j-k\cdot(a_i\texttt{ or } a_j)) .

输入输出样例

  • 输入#1

    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

    -1
    -4
    3
    12

说明/提示

Let f(i,j)=ijk(aiaj)f(i, j) = i \cdot j - k \cdot (a_i | a_j) .

In the first test case,

  • f(1,2)=12k(a1a2)=23(11)=1f(1, 2) = 1 \cdot 2 - k \cdot (a_1 | a_2) = 2 - 3 \cdot (1 | 1) = -1 .
  • f(1,3)=13k(a1a3)=33(13)=6f(1, 3) = 1 \cdot 3 - k \cdot (a_1 | a_3) = 3 - 3 \cdot (1 | 3) = -6 .
  • f(2,3)=23k(a2a3)=63(13)=3f(2, 3) = 2 \cdot 3 - k \cdot (a_2 | a_3) = 6 - 3 \cdot (1 | 3) = -3 .

So the maximum is f(1,2)=1f(1, 2) = -1 .

In the fourth test case, the maximum is f(3,4)=12f(3, 4) = 12 .

首页