配点 : 1800 点
問題文
正整数列 S 及び正整数 k,l が以下のいずれかの条件をみたすとき、
S が レベル (k,l) に属すると定義することにします。
- S の要素数が 1 であり、その要素の値が k である。
- あるレベル(k−1,l) に属する数列 T1,T2,...,Tm (m≥l) が存在して、
T1,T2,...,Tm をこの順に連結して得られる数列と S が一致する。
ただし、k=1 のとき二番目の条件は意味を持たない、つまりレベル(1,l)の正整数列は一つ目の条件をみたすもののみであることに注意して下さい。
正整数列 A1,A2,...,AN と正整数 L が与えられます。
以下の条件をみたす部分列 Ai,Ai+1,...,Aj (1≤i≤j≤N) の個数を求めてください。
- ある正整数 K が存在して、数列 Ai,Ai+1,...,Aj がレベル(K,L)に属する。
制約
- 1≤N≤2×105
- 2≤L≤N
- 1≤Ai≤109
入力
入力は以下の形式で標準入力から与えられる。
N L
A1 A2 ... AN
出力
条件をみたす部分列の個数を出力せよ。
9 3
2 1 1 1 1 1 1 2 3
22
例えば (1,1,1) と (2) という数列はともにレベル (2,3) に属するので、(2,1,1,1,1,1,1) という数列はレベル (3,3) に属します。
9 2
2 1 1 1 1 1 1 2 3
41
15 3
4 3 2 1 1 1 2 3 2 2 1 1 1 2 2
31