

일단 자르는 방법을 행, 열로 각각 모은다 (width_order, height_order)
단, 미리 0과 전체 행, 열 값(whole_width, whole_height)을 넣어 놓아야 함
자르고 난 후의 행 : width_order[i+1] - width_order[i]
자르고 난 후의 열 : height_order[i+1] - height_order[i]
whole_width, whole_height = list(map(int, input().split()))
lines = int(input())
widths = []
heights = []
width_order = [0, whole_width]
height_order = [0, whole_height]
areas = []
for _ in range(lines):
whflag, dotlinenumber = list(map(int, input().split()))
if whflag:
width_order.append(dotlinenumber)
else:
height_order.append(dotlinenumber)
width_order.sort()
height_order.sort()
for i in range(len(width_order) - 1):
widths.append(width_order[i + 1] - width_order[i])
for i in range(len(height_order) - 1):
heights.append(height_order[i + 1] - height_order[i])
for i in widths:
for j in heights:
areas.append(i * j)
print(max(areas))
사실 마지막 줄은 max(widths)*max(heights)로 해도 됐을듯.