U118955.异或总和最大值

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

小明发现异或非常有趣 比加减乘除幂有趣多了
于是他出了道题难为你:
题目是这样的:
小明有一个含有 nn 个整数的数组 aa,现要求将其分成 kk 段,每段内的数字 aiaja_i \sim a_j 求异或值(即 a1a2aj1aja_1 \oplus a_2 \oplus \cdots \oplus a_{j-1} \oplus a_j
请问,分成 kk 段后,各段异或总值最大是多少

输入格式

第一行两个整数 nnkk,分别表示数组有 nn 个整数和要求分成 kk
第二行 nn 个整数,表示 a1ana_1 \sim a_n

输出格式

一行一个整数,表示分成 kk 段后,各段异或总值最大值

输入输出样例

  • 输入#1

    5 3
    1 2 3 4 5

    输出#1

    15

说明/提示

对于样例1:
[1,2,3,4,5][1,2][3,4][5][1,2,3,4,5] \Rightarrow [1,2] \cup [3,4] \cup [5]
此时各段异或总值最大,为 (12)+(34)+5=15(1 \oplus 2) + (3 \oplus 4) + 5=15


数据范围:
对于 100%100\% 的数据,1n100,1k101 \le n \le 100, 1\le k \le 10,数据确保结果在 int 范围内

首页