编程题:贝贝的数组划分
贝贝由于挂科太多被$JMU$开除学籍,辍学在家一天天无所事事,总是突发奇想,诞生了一些奇奇怪怪的问题:
贝贝有一个$n$个整数的数组,他想把它们分成$k$个子数组。子数组相关的定义如下:
① 一个子数组中的元素在数组中必须是**连续**的。
②**一个子数组的值**是子数组中所有元素的**总和(累加和)**。
③子数组不能为空,即至少有一个元素。
$Value$是**所有子数组的值**的**按位与**(&)。贝贝想知道$Value$的最大值的是多少。
(如果不理解题意,可参照样例解释)
### 输入格式:
第一行,包含一个正整数$T$,代表测试用例的数量。
每个测试用例的第一行,包含两个整数$n,k$
每个测试用例的第二行,包含$n$个整数,依次为$a_1,a_2,...,a_n$
### 输出格式:
共$T$行
对于每个测试用例,输出一行,包含一个整数,代表$Value$的最大值。
### 输入样例:
in
1
10 4
9 14 28 1 7 13 15 29 2 31
### 输出样例:
out
24
### 样例解释
$(9+14+28+1+7)\&(13+15)\&(29+2)\&(31)=24$
### 数据规模及约定
对于$40\%$的测试点,$1\leq k \leq n \leq 10, 0 < a_i <128$
对于$100\%$的测试点,$1 \leq T \leq 10,1\leq k \leq n \leq 50, 0 < a_i <2^{50}$
答案:若无答案欢迎评论
贝贝有一个$n$个整数的数组,他想把它们分成$k$个子数组。子数组相关的定义如下:
① 一个子数组中的元素在数组中必须是**连续**的。
②**一个子数组的值**是子数组中所有元素的**总和(累加和)**。
③子数组不能为空,即至少有一个元素。
$Value$是**所有子数组的值**的**按位与**(&)。贝贝想知道$Value$的最大值的是多少。
(如果不理解题意,可参照样例解释)
### 输入格式:
第一行,包含一个正整数$T$,代表测试用例的数量。
每个测试用例的第一行,包含两个整数$n,k$
每个测试用例的第二行,包含$n$个整数,依次为$a_1,a_2,...,a_n$
### 输出格式:
共$T$行
对于每个测试用例,输出一行,包含一个整数,代表$Value$的最大值。
### 输入样例:
in
1
10 4
9 14 28 1 7 13 15 29 2 31
### 输出样例:
out
24
### 样例解释
$(9+14+28+1+7)\&(13+15)\&(29+2)\&(31)=24$
### 数据规模及约定
对于$40\%$的测试点,$1\leq k \leq n \leq 10, 0 < a_i <128$
对于$100\%$的测试点,$1 \leq T \leq 10,1\leq k \leq n \leq 50, 0 < a_i <2^{50}$
答案:若无答案欢迎评论