[语言月赛 202401] 二进制与一
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
题目描述
给定一个正整数 ,以及操作次数 。对于每次操作,给出一个正整数 ,要求:让 加上一个非负整数 ,使得 在二进制下的第 位(从右往左数)是 ,并在符合要求的情况下,令 最小。
请注意,每次操作都会让 变为 ,会影响后续操作。
小山需要求出,所有的 之和是多少。
输入格式
输入共 行。
第一行两个整数 和 。
接下来 行,每行一个正整数 ,表示要让 在二进制下从右往左数的第 位是 。
输出格式
一行一个整数,表示所有的 之和。
5 3
2
3
4
3
提示
样例 1 说明
在二进制下是 。
- 对于第一次操作,需要让 的第二位变为 ,则需让 加上 ,变为 ;
- 对于第二次操作,需要让 的第三位是 ,由于 的第三位本身就是一,所以无需改变;
- 第三次操作同理,需要让 加上 。
最终输出结果是 。
数据规模与约定
对于 的数据,。
测试点编号 | |||
---|---|---|---|