#GESP1307. [GESP202512八级] 宝石项链

[GESP202512八级] 宝石项链

题目背景

2025 年 12 月 GESP C++ 八级编程第 2 题

题目描述

小 A 有一串包含 nn 枚宝石的宝石项链,这些宝石按照在项链中的顺序依次以 1,2,,n1,2,\dots,n 编号,第 nn 枚宝石与第 11 枚宝石相邻。项链由 mm 种宝石组成,其中第 ii 枚宝石种类为 tit_i

小 A 想将宝石项链分给他的好朋友们。具体而言,小 A 会将项链划分为若干连续段,并且需要保证每段都包含全部 mm 种宝石。请帮小 A 计算在满足条件的前提下,宝石项链最多可以划分为多少段。

输入格式

第一行,两个正整数 n,mn,m,分别表示宝石项链中的宝石的数量与种类数。

第二行,nn个正整数 t1,t2,,tnt_1,t_2,\dots,t_n,表示每枚宝石的种类。

输出格式

输出一行,一个整数,表示宝石项链最多可以划分的段数。

样例

6 2
1 2 1 2 1 2
3
7 3
3 1 3 1 2 1 2
2

数据范围

对于 40%40 \% 的测试点,保证 2n10002\le n\le 1000

对于所有测试点,保证 2n1052\le n\le 10^52mn2 \le m \le n1tim1 \le t_i \le m,保证 1,2,,m1,2,\dots,m 均在 t1,t2,,tnt_1,t_2,\dots,t_n 中出现。