최대 1 분 소요

문제링크 : https://www.acmicpc.net/problem/11399

총원 N과 각각이 걸리는 시간이 주어지는 문제이며, 최종적으로 걸리는 시간을 적게 만드는 문제

시간이 가장 적게 걸리는 사람 먼저 진행하게 하며, 사람마다 걸리는 시간을 prev로 관리하고

이를 모두 더해주면 됨. 따라서 정렬을 이용하는 그리디 문제임

N = int(input())
times = list(map(int, input().split()))

prev = 0
answer = 0
cnt = 0
while cnt < N:
    times.sort(reverse=True)
    step = times.pop()
    prev += step
    answer += prev
    cnt += 1

print(answer)

카테고리:

업데이트:

댓글남기기