AT_abc452_f [ABC452F] Interval Inversion Count
Description
正整数 $ N $ と、 $ (1,2,\ldots,N) $ の順列 $ P=(P _ 1,P _ 2,\ldots,P _ N) $ が与えられます。
整数 $ K $ が与えられます。 次の $ 2 $ つの条件を満たす整数の組 $ (l,r) $ がいくつあるか求めてください。
- $ 1\le l\le r\le N $
- 列 $ (P _ l,P _ {l+1},\ldots,P _ r) $ の転倒数が $ K $ と等しい。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ K $ $ P _ 1 $ $ P _ 2 $ $ \ldots $ $ P _ N $
Output Format
条件を満たす整数の組 $ (l,r) $ の個数を出力せよ。
Explanation/Hint
### Sample Explanation 1
例えば、列 $ (P _ 1,P _ 2,P _ 3)=(6,3,2) $ の転倒数が $ 3 $ なので、 $ (l,r)=(1,3) $ は条件を満たします。 他には $ (l,r)=(2,4),(2,5),(4,7),(5,7) $ が条件を満たすので、`5` を出力してください。
### Sample Explanation 2
$ P $ の連続する部分列の転倒数はすべて $ 0 $ になるので、条件を満たす $ (l,r) $ は存在しません。 よって、`0` を出力してください。
### Constraints
- $ 1\le N\le5\times10 ^ 5 $
- $ 0\le K\le\dfrac{N(N-1)}2 $
- $ 1\le P _ i\le N\ (1\le i\le N) $
- $ P _ i\ne P _ j\ (1\le i\lt j\le N) $
- 入力はすべて整数