백준, ATM, 11399, 파이썬

2024. 9. 10. 22:40ETC/Algorithm

[유형]

그리디

 

[문제링크]

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

 

[요약]

줄을 서 있는 사람의 수 N과 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어졌을 때, 각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 구하는 프로그램을 작성하시오.

 

[문제풀이]

돈을 인출하는데 필요한 시간이 적은 사람 순으로 정렬을 한다.

import sys
def input():
    return sys.stdin.readline().rstrip()

N = int(input())
waitings = list(map(int, input().split()))
waitings.sort()

answer = [0] * (N)
answer[0] = waitings[0]
for i in range(1,N):
    answer[i] = answer[i-1] + waitings[i]

print(sum(answer))