考核知识点:排序、库函数二分

核心在于处理查询。由于查询次数较多且查询范围较大,直接遍历所有药品会超时。因此,需要对药品数据进行预处理,容易想到前缀最大值预处理+二分查找。

n = int(input())
drugs = []
for i in range(n):
  a, b = map(int, input().split(" "))
  drugs.append((a, b))
drugs.sort(key=lambda x: (-x[1], x[0]))
q = int(input())
for i in range(q):
  x = int(input())
  result = -1
  for j in drugs:
    if j[0] <= x:
      result = j[1]
      break
  print(result)