‹ 上一题 下一题 ›

g5-08269. 优惠券 未做

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

题目描述

券夹初始为空,依次发生 条操作:

  • 1 a:收进一张面值为 的优惠券;
  • 2 b:来了位预算为 的客人——用掉一张面值不超过 的面值最大的券(也就是「买得起的券里最贵的那张」),输出这张券的面值;一张买得起的都没有就输出 。

被用掉的券随之消失。面值和预算都可能高达 ,请用 long long。

提示:ms.upper_bound(b) 指向第一个大于 的位置,用 prev 退一步就是 的最大面值;若 upper_bound(b) 已经是 ms.begin(),说明连一张都买不起。

输入格式

第一行一个整数 ()。

接下来 行,每行两个整数 op x: 为 或 ; 时 为面值 (), 时 为预算 ()。

输出格式

对每条 2 操作输出一行一个整数:用掉的券的面值,或 。

样例

输入:

8
1 30
1 70
1 50
2 60
2 20
2 70
2 100
2 30

输出:

50
-1
70
30
-1

预算 60 时两张券都买得起,优先用掉面值大的 50;预算 20 一张都买不起,输出 -1。

数据范围

,。小心方向:要的是「 的最大」,别写成「 的最小」——客人想要的是尽量花掉最贵的券,而不是硬买超预算的。

输入
输出

            
答案