Programming/백준
[골드 2] 백준 2381 - 최대 거리 (파이썬)
pental
2025. 4. 25. 17:58
https://www.acmicpc.net/problem/2381
풀이
N = int(input())
P = [list(map(int, input().split())) for _ in range(N)]
N개의 점을 입력받고 리스트 P에 저장한다.
max_plus = -1e9
min_plus = 1e9
for x, y in P :
max_plus = max(max_plus, y + x)
min_plus = min(min_plus, y + x)
(x + y)의 최대값 최소값을 계산한다.
max_minus = -1e9
min_minus = 1e9
for x, y in P :
max_minus = max(max_minus, y - x)
min_minus = min(min_minus, y - x)
(y - x)의 최대값 최소값을 계산한다.
print(max(max_plus - min_plus, max_minus - min_minus))
두 거리 중 더 큰 값을 출력한다.
코드
# 백준 2381 - 최대 거리
# 분류 : 수학
N = int(input())
P = [list(map(int, input().split())) for _ in range(N)]
max_plus = -1e9
min_plus = 1e9
for x, y in P :
max_plus = max(max_plus, y + x)
min_plus = min(min_plus, y + x)
max_minus = -1e9
min_minus = 1e9
for x, y in P :
max_minus = max(max_minus, y - x)
min_minus = min(min_minus, y - x)
print(max(max_plus - min_plus, max_minus - min_minus))