-
[BOJ 11399, Python 3] ATM알고리즘/BOJ 2021. 8. 2. 13:08반응형
https://www.acmicpc.net/problem/11399
풀이
더하는 방법이 (이전까지의 사람들이 돈을 인출하는데 걸린 시간의 합) + (현재 뽑고 있는 사람이 돈을 인출하는데 걸리는 시간)으로 나눌 수 있습니다.
(현재 뽑고 있는 사람이 돈을 인출하는데 걸리는 시간)은 값은 입력값으로 주어지는 것이라서 값이 고정되어 있는데, (이전까지의 사람들이 돈을 인출하는데 걸린 시간의 합)은 배치에 따라 값이 달라질 수 있습니다.
그래서 (이전까지의 사람들이 돈을 인출하는데 걸린 시간의 합) 값을 최소화하려면 오름차순으로 정렬을 해주면 되겠네요.
코드
1234567n = int(input())arr = sorted([*map(int,input().split())])ans = 0for i in range(n):ans += sum(arr[:i]) + arr[i]print(ans)cs 반응형'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ 11508, Python 3] 2+1 세일 (0) 2021.08.03 [BOJ 11501, C++, Python 3] 주식 (0) 2021.08.03 [BOJ 2012, Python 3] 등수 매기기 (0) 2021.08.02 [BOJ 1449, Python 3] 수리공 항승 (0) 2021.08.02 [BOJ 13413, Python 3] 오셀로 재배치 (0) 2021.08.01