给你n位同学的学号和GPA(已经按照GPA降序为第一关键字、学号升序为第二关键字排好序),再给k次GPA为y分的查询,查查都有谁的GPA是y分吧~
多组测试数据。
每组测试数据第一行为正整数n与k,表示n位同学与k次查询(0<n≤1000000, 0<k≤1000000);
接下来n行,每行两个数,第一个数为学号(保证在int范围内且没有前导0),第二个数为该同学对应的GPA分数x(0≤x≤4且x保证为至多保留两位小数的浮点数),保证所给数据已经按照GPA降序为第一关键字、学号升序为第二关键字排好序;
接下来k行,每行一个浮点数GPA分数y,表示查询谁的GPA为y分,保证0≤y≤4且为至多保留两位小数的浮点数。
对于每次查询,输出一行,GPA获得y分的同学的学号,按输入顺序输出。
如果没有同学GPA为y分,则输出"No solution!"(不含引号)。
3 5
10061061 4
10061000 3.98
14211140 3.98
4.00
3.98
3.50
3.5
4
10061061
10061000 14211140
No solution!
No solution!
10061061
数据量很大,请使用scanf/printf进行输入输出。
对浮点数进行强制类型转换有较大的误差。