赤壁之战
注意运算符优先级即可
import java.util.Scanner;
public class Main {
static final int N = 100010;
static long[][] f = new long[N][2];
static int[] w = new int[N];
static int n, x;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
x = sc.nextInt();
for (int i = 1; i <= n; i++) {
w[i] = sc.nextInt();
}
for (int i = 2; i <= n; i++) {//从2开始
f[i][0] = Math.max(f[i - 1][0] + (w[i] ^ w[i - 1]), f[i - 1][1] + (w[i] ^ (w[i - 1] + x)));
f[i][1] = Math.max(f[i - 1][0] + ((w[i] + x) ^ w[i - 1]), f[i - 1][1] + ((w[i] + x) ^ (w[i - 1] + x)));
}
System.out.println(Math.max(f[n][0], f[n][1]));
}
}