728x90
import sys
input = sys.stdin.readline
#sys.stdin = open(".idea/inputs/2628_input1.txt")
width, height = map(int, input().split())
width_cut=[0]
height_cut=[0]
n = int(input())
for _ in range(n):
direction, nth = map(int, input().split())
if direction: # 세로
width_cut.append(nth)
else: #가로
height_cut.append(nth)
width_cut.append(width)
width_cut.sort()
height_cut.append(height)
height_cut.sort()
max_width, max_height = 0, 0
for i in range(len(width_cut)-1):
tmp = width_cut[i+1] - width_cut[i]
if max_width < tmp:
max_width = tmp
for i in range(len(height_cut)-1):
tmp = height_cut[i+1] - height_cut[i]
if max_height < tmp:
max_height = tmp
print(max_width * max_height)
가로와 세로를 판단해서 자르는 지점들을 각각 저장한다.
그리고 그 값들을 정렬하면 잘랐을때의 최대 길이를 구할수 있다.
가로, 세로의 최대 길이를 구해서 곱하면 해결된다.
'STUDY > Algorithm' 카테고리의 다른 글
[백준] 11659 구간 합 구하기 4 (0) | 2021.02.11 |
---|---|
[백준] 1244 스위치 켜고 끄기 (0) | 2021.02.10 |
[백준] 2578 빙고 (0) | 2021.02.10 |
[백준] 2615 오목 (0) | 2021.02.09 |
[백준] 1011 Fly me to the Alpha Centauri (0) | 2021.02.07 |