#P12316. [蓝桥杯 2024 国 C] 循环位运算

    ID: 12229 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>动态规划 DP2024背包 DP蓝桥杯国赛

[蓝桥杯 2024 国 C] 循环位运算

Description

给定 nn 个数 AiA_i,每个数我们都将其视为一个 3232 位的二进制数。你可以进行 mm 次操作,每次选择任意一个数将其循环左移一次。

循环左移表示将某个数的二进制位均左移一位,同时最高位移动到最低位。例如对于一个 88 位二进制数 1001001010010010,循环左移一次后为 0010010100100101,两次后为 0100101001001010

问做了不超过 mm 次操作后,nn 个数的和最大是多少。

Input Format

输入的第一行包含两个整数 n,mn, m,用一个空格分隔。

接下来 nn 行,每行包含一个整数 AiA_i

Output Format

输出一行包含一个整数表示答案。

3 9
2365587456
2399141888
9437184
7535067152

Hint

评测用例规模与约定

  • 对于 30%30\% 的评测用例,n,m12n, m \leq 12
  • 对于 60%60\% 的评测用例,n,m100n, m \leq 100
  • 对于所有评测用例,1n,m10001 \leq n, m \leq 10000Ai<2320 \leq A_i < 2^{32}