Programming/BackJoon
11399 - ATM
홍열
2023. 3. 21. 08:15
728x90
1) 문제 설명
ATM은 1대이고, 각 사람마다 인출하는 시간이 있음
P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2
1번째 사람은 인출하는데 3분, 두번째는 1분, 세번째는 4분....
순서대로 인출할 경우에는
1번째 사람 3분 = 3분
2번째 사람 3분 + 1분 = 4분
3번째 사람 3분 + 1분 + 4분 = 8분
4번째 사람 3분 + 1분 + 4분 + 3분 = 11분
5번째 사람 3분 + 1분 + 4분 + 3분 + 2분 = 13분
총 39분이 걸림
그러나 대기시간이 짧은 순서대로 인출을 하면 32분안에 해결이 된다
그리디 문제로 제일 짧은거부터 선택해서 나아가면 될듯 하다.
n = int(input())
lst = list(map(int, input().split()))
lst.sort()
time_value = 0
for i in range(n):
time_value += sum(lst[0:i+1])
print(time_value)
n = int(input())
arr = list(map(int, input().split()))
arr.sort()
total = 0
ans = 0
for i in arr:
total += i
ans += total
#total = reduce(lambda a, b: a+b, arr, 0)
print(ans)