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

题目背景

蓝桥杯原题为 **做完 $m$ 次操作**,根据下载得到的测试数据分析应当为 **做了不超过 $m$ 次操作**。洛谷的题面根据实际测试数据进行编写。

题目描述

给定 $n$ 个数 $A_i$,每个数我们都将其视为一个 $32$ 位的二进制数。你可以进行 $m$ 次操作,每次选择任意一个数将其循环左移一次。 循环左移表示将某个数的二进制位均左移一位,同时最高位移动到最低位。例如对于一个 $8$ 位二进制数 $10010010$,循环左移一次后为 $00100101$,两次后为 $01001010$。 问做了**不超过** $m$ 次操作后,$n$ 个数的和最大是多少。

输入格式

输入的第一行包含两个整数 $n, m$,用一个空格分隔。 接下来 $n$ 行,每行包含一个整数 $A_i$。

输出格式

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

说明/提示

### 评测用例规模与约定 - 对于 $30\%$ 的评测用例,$n, m \leq 12$; - 对于 $60\%$ 的评测用例,$n, m \leq 100$; - 对于所有评测用例,$1 \leq n, m \leq 1000$,$0 \leq A_i < 2^{32}$。