#CF1129D. 隔离划分

隔离划分

隔离划分

  • 时间限制:5 秒
  • 内存限制:512 MiB

题目描述

给定一个长度为 nn 的整数数组 aa。把它划分成任意数量个互不重叠、非空且首尾相接的子段。

要求每个子段中,恰好出现一次的不同整数不超过 kk 个。求合法划分方案数对 998244353998244353 取模的结果。

输入格式

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

第二行 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n。

输出格式

输出合法划分方案数模 998244353998244353。

样例输入 1

3 1
1 1 2

样例输出 1

3

样例输入 2

5 2
1 1 2 1 3

样例输出 2

14

样例输入 3

5 5
1 2 3 4 5

样例输出 3

16

数据范围

1≤k≤n≤1051\le k\le n\le10^5,1≤ai≤n1\le a_i\le n。

子任务编号 分值 特殊限制
1 20 n≤20n\le20
2 40 n≤3000n\le3000
3 无特殊限制

每个测试点独立计分。