‹ 上一题 下一题 ›

g5-08289. 键区间输出 未做

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

题目描述

给出 对「键 值」(键互不相同),存进 map<int, int>。再给一个区间 (含端点),把键落在区间内的所有键值对按键升序输出,每行「键 值」;区间里一个键都没有,输出一行 。

map 自带两个定位成员函数:mp.lower_bound(x) 返回第一个键 的迭代器,mp.upper_bound(x) 返回第一个键 的迭代器(这样的键不存在时都等于 mp.end())。于是键在 内的部分,正好是「从 lower_bound(L) 出发、走到 upper_bound(R) 为止」的这一段。

输入格式

第一行一个整数 ()。

接下来 行,每行一个键 和一个值 (,,键互不相同)。

最后一行两个整数 、()。

输出格式

若干行:区间内的键值对按键升序每行「键 值」;区间内没有键则输出一行 。

样例

输入:

5
2 20
5 50
8 80
13 130
21 210
5 13

输出:

5 50
8 80
13 130

lower_bound(5) 正好停在键 上,upper_bound(13) 停在键 前面;两端 和 都在区间内,不能丢。

数据范围

,。提示:左端点从 本身开始——把 lower_bound 写成 ,键恰好等于 的那对就被丢了。

输入
输出

            
答案