티스토리 뷰

728x90

https://www.acmicpc.net/problem/2304

 

2304번: 창고 다각형

첫 줄에는 기둥의 개수를 나타내는 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 그 다음 N 개의 줄에는 각 줄에 각 기둥의 왼쪽 면의 위치를 나타내는 정수 L과 높이를 나타내는 정수 H가 한 개의

www.acmicpc.net

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
N = int(input())
lst = []
maxH, maxL = 1, 0
maxIdx = 0
for i in range(N):
    l, h = map(int, input().split())
    lst.append([l, h])
    if maxL < l:
        maxL = l
    if maxH < h:
        maxH = h
        maxIdx = l
stk = [0] * (maxL + 1)
for l, h in lst:
    stk[l] = h
total, tmp = 0, 0
for i in range(maxIdx + 1):
    if stk[i] > tmp:
        tmp = stk[i]
    total += tmp
tmp = 0
for i in range(maxL, maxIdx, -1):
    if stk[i] > tmp:
        tmp = stk[i]
    total += tmp
print(total)
cs

 

 

댓글