https://www.acmicpc.net/problem/2628
2628번: 종이자르기
첫줄에는 종이의 가로와 세로의 길이가 차례로 자연수로 주어진다. 가로와 세로의 길이는 최대 100㎝이다. 둘째 줄에는 칼로 잘라야하는 점선의 개수가 주어진다. 셋째 줄부터 마지막 줄까지 한
www.acmicpc.net
w_a,w_b = map(int, input().split())
n = int(input())
a_lst = [0,w_a] # 최솟값과 최댓값 미리 넣어두기
b_lst = [0,w_b]
for _ in range(n):
q, w = map(int, input().split())
if q == 0: # 0이면 행 리스트에
b_lst.append(w)
else: # 1이면 열 리스트에
a_lst.append(w)
mx_a , mx_b = 0,0 # 최댓값*최댓값이 최댓값임!
a_lst.sort() # 정렬 필요!
b_lst.sort()
for i in range(len(a_lst)-1):
if mx_a <= a_lst[i+1] - a_lst[i]: # 앞에거에서 뒤에거 뺀 값들 중 최댓값 갱신
mx_a = a_lst[i+1] - a_lst[i]
for i in range(len(b_lst)-1):
if mx_b <= b_lst[i+1] - b_lst[i]: # 동일
mx_b = b_lst[i+1] - b_lst[i]
print(mx_a * mx_b) # 최댓값끼리 곱한 값이 정답
'백준' 카테고리의 다른 글
백준 2606번. 바이러스 (0) | 2023.08.29 |
---|---|
백준 2839. 설탕배달 (0) | 2023.08.29 |
2635. 수 이어가기 (0) | 2023.08.28 |
백준 2669. 직사각형 네개의 합집합의 면적 구하기 (0) | 2023.08.28 |
백준 1244. 스위치 켜고 끄기 (0) | 2023.08.21 |