题库练习 Isolation
← 上一题 下一题 →

A12408 | Isolation

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

Find the number of ways to divide an array $a$ of $n$ integers into any number of disjoint non-empty segments so that, in each segment, there exist at most $k$ distinct integers that appear exactly once.

Since the answer can be large, find it modulo $998\,244\,353$ .

输入格式

The first line contains two space-separated integers $n$ and $k$ ( $1 \leq k \leq n \leq 10^5$ ) — the number of elements in the array $a$ and the restriction from the statement.

The following line contains $n$ space-separated integers $a_1, a_2, \ldots, a_n$ ( $1 \leq a_i \leq n$ ) — elements of the array $a$ .

输出格式

The first and only line contains the number of ways to divide an array $a$ modulo $998\,244\,353$ .

输入输出样例

输入 #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
C++ 编辑器
输入
输出