灯带翻转
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
一条灯带有 盏灯,编号为 ,初始全部熄灭。小杨要按顺序执行 次操作。
第 次操作由非负整数 表示。将 写成二进制,二进制位从右向左编号为 ,不足 位的高位视为0。
- 如果 的第 位是1,就翻转第 盏灯:原先亮着的变灭,原先熄灭的变亮。
- 如果第 位是0,第 盏灯保持当前状态。
请计算执行完全部操作后,有多少盏灯亮着。
输入格式
第一行,两个正整数 ,分别表示操作次数和灯的数量。
第二行, 个非负整数 ,依次表示各次操作。
输出格式
输出一行,一个非负整数,表示最后亮着的灯数。
样例
3 4
3 5 5
2
2 3
7 7
0
样例解释
样例1把状态按灯号从高到低写成四位二进制,1表示亮、0表示灭。状态依次为:
0000 → 0011 → 0110 → 0011。
最后有两盏灯亮着。后两个操作的数值同为5,使相关灯各翻转两次,回到这两次操作前的状态。
样例2先使三盏灯全部亮起,再使它们全部熄灭。
数据规模与约定
,,。所有输入均为整数。