‹ 上一题 下一题 ›

g5-08229. 任务调度 未做

1000 ms 256 MB 测试点 10 通过率 100% GESP-55级·STLpriority_queue

题目描述

一个任务调度器不断接收两类操作:

  • 1 p:新增一个优先级为 的任务。任务按添加顺序编号:第 1 个添加的任务序号为 ,第 2 个为 ,依此类推;
  • 2:执行优先级最高的任务并输出它的序号;若多个任务优先级相同,先添加的先执行。

用一个大根堆维护所有待执行任务,让每次「选最高」都快。数据保证每条 2 执行时至少有一个待执行任务。

输入格式

第一行一个整数 (),操作数。

接下来 行,每行是一条操作,格式为 1 p()或 2。

输出格式

对每条 2 操作,输出一行一个整数:被执行任务的序号。

样例

输入:

6
1 7
1 7
2
1 7
2
2

输出:

1
2
3

三个任务优先级都是 7,执行顺序全由添加顺序决定:1 号、2 号、3 号。

数据范围

,。提示:堆里只能放一个数,就把「优先级」和「先来后到」编进同一个 long long——高位放 ,低位放一个随序号增大而减小的量,同优先级时先添加的反而更大。

输入
输出

            
答案