A36051.集合操作
普及-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
时间限制: 1000ms
空间限制: 128mb
给定一个空的集合S,可以对其进行三种操作。
1 x
,指代在集合当中加入元素x
。2 x c
, 指代从S当中删除c个x
元素,假如不满足c个元素,则删除剩下的所有x
。3
,输出此时集合S当中最大值与最小值的差。
现在总计按照操作的先后顺序,给出了n次的操作,求解对应的输出内容。
输入格式
第一行输入一个整数n,代表共有n次操作
随后n行,每行给出三种操作当中的其中一种操作。
输出格式
输出所有操作3
的内容,且每一次操作独占一行。
输入输出样例
输入#1
7 1 3 1 2 1 1 2 1 5 3 2 2 5 3
输出#1
1 0
说明/提示
提示
【样例1解释】
以下为集合S在每次操作当中的变化
- 加入了元素3 , S=3
- 加入了元素2 , S=3,2
- 加入了元素1 , S=3,2,1
- 删除5个元素1,但是其中仅有一个元素1,故只删除这一个元素1 , S=3,2
- 查询此时最大的元素,为3,最小的元素,为2,故输出 3 - 2 = 1
- 删除5个元素2,但是其中仅有一个元素2,故只删除这一个元素2 , S=3,2
- 查询此时最大的元素,为3,最小的元素,为3,故输出 3 - 3 = 0
【数据范围】
- 1≤n≤2×105
- 0≤x≤109
- 1≤c≤n
- 当给出类型为
3
的查询时, S 不为空。 - 输入的所有值都是整数。