[BOJ] 11399: ATM
🔒 例
>> 5
3 1 4 3 2
32
🔧 に答える
1. n = int(sys.stdin.readline().rstrip())
2. ppl = [int(sys.stdin.readline().rstrip()) for _ in range(n)]
3. 각 사람이 돈을 인출하는데 걸리는 최소시간
3.1 순열을 활용하여 모든 시간 계산 후 그 중 최소 선택 => '시간초과'
3.2 시간이 적게 소요되는 사람부터 인출
🔑 答案用紙
import sys
n = int(sys.stdin.readline().rstrip())
ppl = list(map(int, sys.stdin.readline().split()))
ppl.sort()
for i in range(1, n):
ppl[i] += ppl[i-1]
print(sum(ppl))
💡 コンセプト
# permutation
from itertools import permutations
p = [1, 2, 3]
for pp in permutations(p):
print(pp)
'''
(1, 2, 3)
(1, 3, 2)
(2, 1, 3)
(2, 3, 1)
(3, 1, 2)
(3, 2, 1)
'''
Reference
この問題について([BOJ] 11399: ATM), 我々は、より多くの情報をここで見つけました https://velog.io/@ohhj1999/BOJ-11399テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol