题目描述
给出 对「键 值」(键互不相同),存进 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 写成 ,键恰好等于 的那对就被丢了。