chyam

[백준] - 18111번,python - 마인크래프트 본문

백준

[백준] - 18111번,python - 마인크래프트

chyam_eun 2025. 11. 18. 18:02

# pypy3로 제출! python3으로 하니 시간초과

import sys
input = sys.stdin.readline
n, m, b = map(int,input().split())

block = []
for _ in range(n):
    block.append([int(x) for x in input().split()])

ans = float('inf')
level = 0

for i in range(257): # 땅 높이
    use_block = 0 # 쌓아야하는 블럭
    take_block = 0 # 제거해서 얻은 블록
    for x in range(n):
        for y in range(m):
            if block[x][y] > i: # 땅 높이가 더 높으면 
                take_block += block[x][y] - i # 제거해서 얻은 블록 += 땅높이 차이
            else: # 더 낮으면
                use_block += i - block[x][y] # 쌓아야하는 블럭 += 땅높이 차이
    if use_block > take_block + b: # 쌓아야하는 블록 > 제거해서 얻은 블록 + 가진 블록 
        continue

    count = take_block * 2 + use_block

    if count <= ans:
        ans = count
        level = i

print(ans, level)