BOJ 11399 ATM

LONGNEW·2021년 1월 22일
0

BOJ

목록 보기
84/333

https://www.acmicpc.net/problem/11399
시간 1초, 메모리 256MB
input :

  • N(1 ≤ N ≤ 1,000)
  • Pi (1 ≤ Pi ≤ 1,000)

output :

  • 필요한 시간의 합의 최솟값

조건 :

  • 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우

  • [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다.
    2번 사람은 1번 사람이 돈을 뽑을 때 까지 기다려야 하기 때문에, 3+1 = 4분이 걸리게 된다.
    3번 사람은 1번, 2번 사람이 돈을 뽑을 때까지 기다려야 하기 때문에, 총 3+1+4 = 8분이 필요하게 된다.
    4번 사람은 3+1+4+3 = 11분, 5번 사람은 3+1+4+3+2 = 13분이 걸리게 된다.
    이 경우에 각 사람이 돈을 인출하는데 필요한 시간의 합은 3+4+8+11+13 = 39분

  • [2, 5, 1, 4, 3] 순서로 줄을 서면,
    2번 사람은 1분만에, 5번 사람은 1+2 = 3분,
    1번 사람은 1+2+3 = 6분, 4번 사람은 1+2+3+3 = 9분,
    3번 사람은 1+2+3+3+4 = 13분이 걸리게 된다.
    각 사람이 돈을 인출하는데 필요한 시간의 합은 1+3+6+9+13 = 32분



이러한 순서로 움직이게 된다.

import sys

n = int(sys.stdin.readline())
data = list(map(int, sys.stdin.readline().split()))
data.sort()

total = 0
waiting = 0
for item in data:
    total += item + waiting
    waiting += item
print(total)

0개의 댓글