본문 바로가기

개발자 강화/코딩 테스트

[백준] 11399 ATM / Greedy python 실4

대기 시간 순으로 sort

각 순서의 사람은 이전 순서의 대기 시간과 본인의 대기 시간을 모두 합침

 

각 순서 사람의 대기 시간을 누적합으로 구하고

이 결과를 total 합에 더하는 방식으로 구한다

 

n = int(input())
a = list(map(int,input().split()))

# p1=3
# p2=1
# pe=4
# p4=3
# p5=2

# [1,2,3,4,5]

# 3 3+1 3+1+4 3+1+4+3 3+1+4+3+2

# [2,5,1,4,3]

# 1 1+2 1+2+3 1+2+3+3 1+2+3+3+4

a.sort()
s=0
t=0
for i in a:

    s+=i
    t+=s
print(t)

https://www.acmicpc.net/problem/11399