#CF2118C. 使其美丽
使其美丽
C. 使其美丽
每次测试时间限制:2 秒
每次测试内存限制:512 兆字节
题目描述
你有一个包含 个整数的数组 。
我们定义一个数 的美丽度为它的二进制表示中 的个数。
我们定义一个数组的美丽度为它所包含的数的美丽度之和。
在一次操作中,你可以选择一个下标 (),并将 增加 。
请计算在最多进行 次操作后,数组的最大美丽度。
输入格式
每个测试点包含多个测试用例。第一行包含一个整数 (),表示测试用例的数量。
接下来每个测试用例的描述如下:
- 第一行包含两个整数 和 (,),分别表示数组长度和最大操作次数。
- 第二行包含 个整数 (),表示数组 。
数据保证所有测试用例的 之和不超过 。
输出格式
对于每个测试用例,输出一个整数,表示在最多 次操作后能获得的最大美丽度。
示例
输入:
5
5 2
0 1 7 2 4
5 3
0 1 7 2 4
1 1
3
3 0
2 0 3
1 100000000000
0
输出:
8
9
2
3
36
提示
在第一个测试用例中,初始数组为 。
- 第一次操作在 ,数组变为 。
- 第二次操作在 ,数组变为 。
该数组的美丽度为:。
另一个能达到同样美丽度的解是 。
在第三个测试用例中,数组为 。由于不需要恰好使用 次操作,最优方案是不进行操作。