‹ 上一题 下一题 ›

j06629. 冲刺·异或清空 未做

1000 ms 128 MB 测试点 20 通过率 10% J·算法其他池题一维动态规划位运算
文件读写输入XorClear.in输出XorClear.out

题目描述

桌上有 张数字卡片排成一排,第 张上写着非负整数 。

你可以反复执行如下操作:

  • 选定当前一排中连续的一段卡片 ;
  • 若这段卡片上数字的按位异或和为 ,即 ,就把这一整段抽走;
  • 抽走后,左右两侧剩余的卡片自动靠拢拼接。

单独一张卡片也算一段,因此写有 的卡片可以单张抽走。

请求出:经过若干次操作后,一排卡片最少能剩几张。

输入格式

第一行一个整数 。

第二行 个整数 。

输出格式

输出一个整数,表示最少剩余的卡片数。

样例

输入
2
3 3
输出
0

提示说明

【样例解释】

  • 样例 1:,一次抽走整排,剩 张。
  • 样例 2:先抽走 (),剩下 ;再抽走即可。也可以直接抽走整排()。
  • 样例 3:所有连续段的异或和都不为 ,一张也抽不走,答案为 。

【数据范围】

对于全部数据:,。

子任务 测试点 分值 限制
S1 1~2 10
S2 3~9 35
S3 10~20 55 无特殊限制

共 20 个测试点,每个测试点 5 分,合计 100 分。

输入
输出

            
答案