https://www.acmicpc.net/problem/19637
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
kind = []
for _ in range(n):
a, b = map(str, input().split())
kind.append([a, b])
kind.sort(key=lambda x: int(x[1]))
arr = []
for _ in range(m):
arr.append(int(input()))
for i in arr:
r = len(kind)
l = 0
res = 0
while l <= r:
m = (l+r)//2
if int(kind[m][1]) >= i:
res = m
r = m-1
else:
l = m+1
print(kind[res][0])
이분탐색 어려워...
개념은 아는데 이걸 풀이에 적용시키는게 어렵다...ㅠ_ㅠ
특정 숫자가 포함된 부분을 찾는게 중요!