测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A2803. 暗杀

编程题 提高+/省选-
知识点

题目描述

敌方的高级将领都是有很多相同之处的。为了方便找到每名敌将的弱点,我军情报部已经找到了他们的不同点,并将其归纳为 $k$ 种特性。比如 $1$ 号特性就代表一个敌将喜欢打人,$2$ 号特性就代表一个敌将喜欢吃饭,等等。

为了方便存储,我军使用特性值来描述一个敌将的特点。特性值是一个位数为 $k$ 的二进制整数,每一位都可以表示一名敌将的一个特性。$1$ 代表具有此特性,$0$ 代表没有。

我军间谍打听到,不久有 $n$ 个敌方将领会举行一场宴会,而且入场时他们会排成一路纵队入场。如果有连续的 $m$ 个人的每种特性出现的次数之和是一样的,那么我军间谍就很容易暗杀这 $m$ 个人。你需要帮助我军算出,间谍最多可以暗杀多少人?

因为间谍开始攻击后就可能被敌人击毙,所以间谍只能进行一次攻击。

输入格式

第一行两个整数 $n$,$k$。

第二行 $n$ 个整数,第 $i$ 个数 $a_i$ 表示第 $i$ 个敌将的特性值(以十进制的形式输入)。

输出格式

最多可以暗杀多少个敌将。

输入输出样例

输入 #1
7 3
7 6 7 2 1 4 2
输出 #1
4

说明/提示

- 对于 $30\%$ 的数据,$1 \leq N \leq 100$;
- 对于 $50\%$ 的数据,$1 \leq N \leq 1000$;
- 对于 $100\%$ 的数据,$1 \leq N \leq 10^5$,$1 \leq K \leq 30$。
上一题 去做题 下一题