#ATagc037f. [AGC037F] Counting of Subarrays

[AGC037F] Counting of Subarrays

题目描述

定义正整数序列 SS 属于等级 (k,l)(k, l),当且仅当满足以下任一条件:

  • SS 的元素个数为 11,且该元素的值为 kk
  • 存在属于等级 (k1,l)(k-1, l) 的数列 T1,T2,,TmT_1, T_2, \ldots, T_mmlm \geq l),将 T1,T2,,TmT_1, T_2, \ldots, T_m 按顺序连接后得到的数列与 SS 完全一致。

注意,当 k=1k=1 时,第二个条件没有意义,因此等级 (1,l)(1, l) 的正整数序列只能满足第一个条件。

给定正整数序列 A1,A2,,ANA_1, A_2, \ldots, A_N 和正整数 LL。请计算满足下述条件的子序列 Ai,Ai+1,,AjA_i, A_{i+1}, \ldots, A_j1ijN1 \leq i \leq j \leq N)的个数:

  • 存在某个正整数 KK,使得数列 Ai,Ai+1,,AjA_i, A_{i+1}, \ldots, A_j 属于等级 (K,L)(K, L)

输入格式

输入从标准输入中按以下格式给出。

NN LL A1A_1 A2A_2 \ldots ANA_N

输出格式

输出满足条件的子序列的个数。

样例 1

输入

9 3
2 1 1 1 1 1 1 2 3

输出

22

样例 2

输入

9 2
2 1 1 1 1 1 1 2 3

输出

41

样例 3

输入

15 3
4 3 2 1 1 1 2 3 2 2 1 1 1 2 2

输出

31

说明/提示

限制条件

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 2LN2 \leq L \leq N
  • 1Ai1091 \leq A_i \leq 10^9

样例说明 1

例如,数列 (1,1,1)(1,1,1)(2)(2) 都属于等级 (2,3)(2,3),因此数列 (2,1,1,1,1,1,1)(2,1,1,1,1,1,1) 属于等级 (3,3)(3,3)

由 ChatGPT 4.1 翻译