A70062 | > 时间限制: 1000ms
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
时间限制: 1000ms
空间限制: 128mb
给定一个空的集合$S$,可以对其进行三种操作。
1.
1 x ,指代在集合当中加入元素x。2.
2 x c , 指代从$S$当中删除$c$个x元素,假如不满足c个元素,则删除剩下的所有x。3.
3,输出此时集合$S$当中最大值与最小值的差。现在总计按照操作的先后顺序,给出了$n$次的操作,求解对应的输出内容。
输入格式
第一行输入一个整数$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$在每次操作当中的变化
1. 加入了元素3 , $S = {3}$
2. 加入了元素2 , $S = {3,2}$
2. 加入了元素1 , $S = {3,2,1}$
4. 删除5个元素1,但是其中仅有一个元素1,故只删除这一个元素1 , $S = {3,2}$
5. 查询此时最大的元素,为3,最小的元素,为2,故输出 3 - 2 = 1
6. 删除5个元素2,但是其中仅有一个元素2,故只删除这一个元素2 , $S = {3,2}$
7. 查询此时最大的元素,为3,最小的元素,为3,故输出 3 - 3 = 0
【数据范围】
- $1 \leq n \leq 2\times 10^5$
- $0 \leq x \leq 10^9$
- $1 \leq c \leq n$
- 当给出类型为
3 的查询时, $S$ 不为空。- 输入的所有值都是整数。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?