https://school.programmers.co.kr/learn/courses/30/lessons/12927

1) 코드
import heapq
import math
def solution(n, works):
answer = 0
total = 0
q = []
for work in works:
heapq.heappush(q, -work)
total += work
if n >= total:
return 0
while n != 0:
num = (-1)*heapq.heappop(q)
num -= 1
n -= 1
if num >= 1:
heapq.heappush(q, -num)
while q:
answer += math.pow(-heapq.heappop(q), 2)
return answer
2) 해설