Problem2990--map的查询操作

2990: map的查询操作

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 0  Solved: 0
[Status] [Submit] [Creator:]

Description

输入n个用户的姓名和电话号码,接着进行m次查询操作,每次操作给定两个空格分隔的整数c x,其中c∈[1, 3],具体含义如下:
1 name: 如果用户名name存在则输出name的电话,否则输出NO。
2 name:输出首个用户名字典序小于name的用户的电话,如果不存在输出NO。
3 name:输出首个用户名字典序大于name的用户的电话,如果不存在输出NO。

Input

第1行:两个空格分隔的整数,分别表示n和m。
接下来n行:每行两个用空格分隔的字符串,分别表示用户的姓名和电话号码。
接下来m行:每行一条指令,含义和题目表述中一致。

Output

m行,每个查询的结果输出一行。

Sample Input Copy

3 3
alex 13888888888
simba 13988888888
owen 18888888888
1 simba
2 alex
3 alex

Sample Output Copy

13988888888
NO
18888888888

HINT

1 <= n, m <= 10000;  用户名是不超过30个字符的字符串,电话是包含11个数字且首字符不为0的字符串。
输入数据保证用户名和电话都不存在重复。

Source/Category