开始: 2026-08-24 08:00:00

26暑期训练赛02

结束: 2026-08-24 20:00:00
当前  2026-09-20 06:26:34  类型: IOI  状态: 已经结束 

P6. 区间逆序对计数(Interval Inversion Count)
描述

给定正整数 N 和 (1, 2, …, N) 的一个排列 P = (P_1, P_2, …, P_N)。

给定整数 K。
请统计满足以下两个条件的整数对 (l, r) 的个数:

  • 1 ≤ l ≤ r ≤ N

  • 序列 (P_l, P_{l+1}, …, P_r) 的逆序对数等于 K


输入

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

N K
P_1 P_2 … P_N


输出

输出满足条件的整数对 (l, r) 的个数。

样例

输入

7 3
6 3 2 1 7 5 4

输出

5

输入

25 18
14 19 24 8 12 11 6 5 3 13 22 15 17 2 9 4 7 18 10 25 23 16 1 20 21

输出

3
提示

样例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。

数据范围

- 1 ≤ N ≤ 5×10^5

- 0 ≤ K ≤ N(N−1)/2

- 1 ≤ P_i ≤ N(1 ≤ i ≤ N)

- P_i ≠ P_j(1 ≤ i < j ≤ N)

- 所有输入均为整数


提交

题目参数
时间限制 1 秒
内存限制 128 MB
提交