U449821 [SPN D-Struct 02] Stable

题目背景

![](https://cdn.luogu.com.cn/upload/image_hosting/75uw2gyp.png)

题目描述

请维护一个整数序列 $a$,支持如下操作: 1. 插入 $h$ 个新数 $x$。 2. 删除 $h$ 个数 $x$。保证 $a$ 中至少有 $h$ 个 $x$。 3. 求出 $a$ 中第 $k$ 小数,重复的数按多个计。记 $n'$ 表示操作时 $a$ 的长度,保证 $1 \le k \le n'$。 4. 给定数 $l,r$,求出 $a$ 中有多少个数在 $[l,r]$ 之间。

输入格式

第一行两个正整数 $n, q$,代表序列初始长度和操作个数。 第二行 $n$ 个整数 $x$,代表输入序列的初始值。 接下来 $q$ 行,每行开始一个正整数 $opt$,保证 $1 \le opt \le 4$。 如果 $opt=1,2$,接下来两个正整数 $h,x$。 如果 $opt=3$,接下来一个正整数 $k$。 如果 $opt=4$,接下来两个正整数 $l,r$。

输出格式

对于每个 $3,4$ 操作,输出一行答案。

说明/提示

**样例解释** 下面展示了每次操作前序列 $a$ 的值(已升序排列)。 ```cpp 0 1 1 1 2 2 4 4 4 5 0 1 1 1 2 2 4 5 0 1 1 1 2 2 4 5 6 6 0 1 1 1 2 2 4 5 6 6 0 1 1 1 2 2 4 5 6 6 0 2 2 4 5 6 6 0 2 2 4 5 6 6 ``` **数据范围及约定** **数据范围及约定** | 测试点编号 | $n,q,x \le$ | 特殊性质 | | :----------: | :----------: | :----------: | | 1 | $10$ | | | 2 | $10^3$ | | | 3 | $10^5$ | A | | 4 | $10^5$ | | | 5 | $2\times 10^5$ | A | | 6 | $2 \times 10^5$ | | | 7 | $3\times 10^5$ | A | | 8 | $3\times 10^5$ | | | 9 | $5 \times 10^5$ | A | | 10 | $5 \times 10^5$ | | - 特殊性质 A:$opt \in \{1,2,3\}$。 对于 $100\%$ 的数据,$0 \le x \le 5 \times 10^5$,$1 \le n,q,l,r \le 5 \times 10^5$,$1 \le h \le 10^6$。