BOJ14719 빗물

randi65535·2020년 11월 25일
0
N, M = map(int, input().split())

## 2차원 세계
board = [[0] * M for _ in range(N)]

## 블록 크기 입력 받음
elem = list(map(int, input().split()))

## 블록의 갯수랑 크기만큼 2차원 배열 구성
for i in range(M):
	for j in range(elem[i]):
		board[j][i] += 1

## 빗물의 총량
ans = 0
for i in range(N):
	flag = False
	tmp = 0
	for j in range(M):
		## 블록을 만난 적이 있을 경우
		if flag:
			## 블록을 만나기 전까지 물을 더 한다
			if board[i][j] == 0:	
				tmp += 1

			## 다시 블록을 만난 경우 물을 더한다
			else:
				ans += tmp
				tmp = 0

		## 블록을 만난 적이 없는 경우
		else:
			## 블록을 만난적이 없는데 만난 경우
			if board[i][j] == 1:
				flag = True

print(ans)
profile
unsinged int 8byte-1

0개의 댓글

Powered by GraphCDN, the GraphQL CDN