#4319. Max

0

Max

Max

题目描述

我们有一个整数的多重集合 SS,初始时为空。 给定 QQ 个查询,按顺序处理它们。 每个查询是下列类型之一。

1 x1\ x:向 SS 中插入一个 xx。

2 x c2\ x\ c:从 SS 中删除 xx 共 mm 次,其中 m=min(c,(m = \mathrm{min}(c,( SS 中包含的 xx 的个数))))。

33:打印 (( SS 的最大值)−()-( SS 的最小值))。 当此查询给出时,保证 SS 非空。

输入格式

输入按以下格式从标准输入给出: QQ query1\mathrm{query}_1 ⋮\vdots queryQ\mathrm{query}_Q

queryi\mathrm{query}_i,表示第 ii 个查询,格式为下列之一: 11 xx

22 xx cc

33

输出格式

按给定顺序换行输出类型 33 查询的答案。

8
1 3
1 2
3
1 2
1 7
3
2 2 3
3
1
5
4

提示

1≤Q≤2×1051 \leq Q \leq 2\times 10^5 0≤x≤1090 \leq x \leq 10^9 1≤c≤Q1 \leq c \leq Q 当给出类型 33 的查询时,SS 非空。 输入中的所有数值均为整数。多重集合 SS 的变化如下。

第 11 个查询:向 SS 插入 33。 现在 SS 为 {3}\lbrace 3 \rbrace。 第 22 个查询:向 SS 插入 22。 现在 SS 为 {2,3}\lbrace 2, 3 \rbrace。 第 33 个查询:S={2,3}S = \lbrace 2, 3\rbrace 的最大值为 33,最小值为 22,所以输出 3−2=13-2=1。 第 44 个查询:向 SS 插入 22。 现在 SS 为 {2,2,3}\lbrace 2,2,3 \rbrace。 第 55 个查询:向 SS 插入 77。 现在 SS 为 {2,2,3,7}\lbrace 2, 2,3, 7\rbrace。 第 66 个查询:S={2,2,3,7}S = \lbrace 2,2,3, 7\rbrace 的最大值为 77,最小值为 22,所以输出 7−2=57-2=5。 第 77 个查询:由于 SS 中有两个 22 且 min(2,3)=2\mathrm{min(2,3)} = 2,从 SS 中删除 22 两次。 现在 SS 为 {3,7}\lbrace 3, 7\rbrace。 第 88 个查询:S={3,7}S = \lbrace 3, 7\rbrace 的最大值为 77,最小值为 33,所以输出 7−3=47-3=4。
如果给定的查询中不包含类型 33 的查询,则不应输出任何内容。

标签: AtCoder|abc253C

来源

AtCoder|abc253C