CF1129D.Isolation

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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

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

输入格式

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

The following line contains nn space-separated integers a1,a2,,ana_1, a_2, \ldots, a_n ( 1ain1 \leq a_i \leq n ) — elements of the array aa .

输出格式

The first and only line contains the number of ways to divide an array aa modulo 998244353998\,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
    

说明/提示

In the first sample, the three possible divisions are as follows.

  • [[1],[1],[2]][[1], [1], [2]]
  • [[1,1],[2]][[1, 1], [2]]
  • [[1,1,2]][[1, 1, 2]]

Division [[1],[1,2]][[1], [1, 2]] is not possible because two distinct integers appear exactly once in the second segment [1,2][1, 2] .

首页