Search

[백준 18111] 마인크래프트

[백준 18111] 마인크래프트

Tip

시간 제약이 심한 문제
반복문 안의 코드를 최대의 성능으로
같은 값을 구할 수 있다면 이중 for문 안에서 연산 수행보다는 for문 밖에서 연산을 하는 쪽으로
조건 검사를 하는 elif 보다는 else가 성능이 더 좋은 듯
Python3에서 시간초과가 뜬다면 PyPy3로 제출

풀이 소스 코드

import sys si = sys.stdin.readline n, m, b = map(int, si().split()) array = [list(map(int, si().split())) for _ in range(n)] result_time = float('inf') height = 0 def rumbling(standard): blocks = 0 need = 0 for i in range(n): for j in range(m): if array[i][j] > standard: blocks += array[i][j] - standard else: need += standard - array[i][j] return need, blocks for h in range(257): need, blocks = rumbling(h) inventory = blocks + b if need > inventory: continue time = 2 * blocks + need if time <= result_time: result_time = time height = h print(result_time, height)
Python