QOJ.ac

QOJ

时间限制: 1.5 s 内存限制: 2048 MB 总分: 100

#16180. 糖果狂热

统计

下班高峰期到了!你刚刚结束了一天的工作,需要在商场关门前为所有的家人买糖果。

独特性和一致性是你的家人非常看重的特质。为了给他们留下深刻的印象,你制定了一个计划:分给每个家人的所有糖果都必须属于同一个品牌,且没有两个家人会分到相同品牌的糖果。此外,你不想承认自己偏爱某些人,因此你希望每个人分到的糖果数量都相同。

商场里有一家商店销售 $K$ 个不同品牌的糖果。碰巧的是,你的家庭成员也刚好有 $K$ 个。这听起来可能太简单了,但当然,这里面有一个限制。

商店将糖果整齐地排列在单排货架上。你没有时间去逐个挑选糖果;相反,为了高效地完成任务,你希望购买一段连续的糖果。这意味着,当你购买任意两颗糖果时,你必须同时购买货架上介于它们之间的所有糖果。

你最多可以购买多少颗糖果?

输入格式

第一行包含两个整数 $N$ 和 $K$ ($1 \le N, K \le 4 \times 10^5$),分别表示货架上的糖果数量和家庭成员的数量。糖果品牌用 $1$ 到 $K$ 之间的不同整数表示。

第二行包含 $N$ 个整数 $C_1, C_2, \dots, C_N$ ($1 \le C_i \le K$,对于 $i = 1, 2, \dots, N$),按从左到右的顺序表示货架上每颗糖果的品牌。

输出格式

输出一行,包含一个整数,表示你最多可以为家人购买的糖果总数。请记住,每个家庭成员不能收到两种不同品牌的糖果,且同一个品牌的糖果不能分给两个不同的家庭成员。此外,每个家庭成员必须收到相同数量的糖果,且购买的糖果必须是货架上的一段连续区间。

样例

输入样例 1

6 2
2 2 1 1 2 2

输出样例 1

4

说明 1

购买第一颗到第四颗糖果,或者购买第三颗到第六颗糖果,都可以让你为每个品牌购买两颗糖果。

输入样例 2

7 3
2 1 2 1 2 2 3

输出样例 2

0

说明 2

没有任何一个连续的糖果区间能够使得品牌 1、2 和 3 的糖果数量相同。

输入样例 3

3 4
3 4 2

输出样例 3

0

说明 3

虽然商店以销售 $K$ 个不同品牌的糖果而闻名,但某些品牌可能会缺货。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.