题目 30031

双端优先队列

查看题解 ↗GitHub ↗如何评测
题号
30031
时间限制
10000 ms
内存限制
1024 MB
标签
数据结构
来源
Library Checker (yosupo06) - double_ended_priority_queue

【题目描述】

给定一个多重集合 S={S1,…,SN}S=\lbrace S_1, \ldots, S_N \rbrace。按顺序处理以下 QQ 个查询:

  • 0 x:将 xx 加入 SS。
  • 1:输出 SS 中的一个最小元素,并将其从 SS 中删除。
  • 2:输出 SS 中的一个最大元素,并将其从 SS 中删除。

保证处理类型为 1 和 2 的查询时,SS 非空。

【输入】

文本
$N\; Q$
$S_1 \cdots S_N$
$\mathrm{Query}_0$
$\vdots$
$\mathrm{Query}_{Q-1}$

【输出】

对于每个类型为 1 或 2 的查询,输出一行一个整数。

【输入样例】

文本
4 10
-3 0 1 3
0 3
2
2
0 -2
0 1
1
1
2
1
2

【输出样例】

文本
3
3
-3
-2
1
0
1

【数据范围】

  • 0≤N≤5000000 \leq N \leq 500000
  • 1≤Q≤5000001 \leq Q \leq 500000
  • −1000000000≤Si,x≤1000000000-1000000000 \leq S _i, x \leq 1000000000

【来源】

Library Checker(yosupo06) double_ended_priority_queue

数据下载

题目 30031 的公开数据

正在读取文件列表…

常用命令

题目 30031 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。