54AC - ABC091C: 2D Plane 2N Points

ABC091-C (400 points)
# input
N = int(input())
lst_red = [list(map(int, input().split())) for i in range(N)]
lst_blue = [list(map(int, input().split())) for i in range(N)]

lst_red.sort(key=lambda x: x[1], reverse=True) # yの大きい順
lst_blue.sort(key=lambda y: y[0]) # xの小さい順

ans = 0

# 貪欲法
# 各青点に対してペアになれる赤点のうち、yが最大の赤点を選んでいく
for b in lst_blue:
    for r in lst_red:
        if r[0] < b[0] and r[1] < b[1]:
            lst_red.remove(r)
            ans += 1
            break

print(ans)