ATM

아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

인하은행에는 ATM이 한 대뿐이다. 지금 이 ATM 앞에 NN명이 줄을 서 있다. 사람에게는 1번부터 NN번까지 번호가 붙어 있고, ii번 사람이 돈을 인출하는 데 걸리는 시간은 PiP_i분이다.

앞사람이 인출을 모두 마쳐야 뒷사람이 시작하므로, 어떤 사람이 인출을 마치기까지 필요한 시간은 자기 앞에 선 사람의 인출 시간과 자기 인출 시간을 모두 더한 값이다. 따라서 줄을 서는 순서에 따라 각 사람이 돈을 인출하는 데 필요한 시간의 합이 달라진다.

예를 들어 5명이 있고 P1=3P_1 = 3, P2=1P_2 = 1, P3=4P_3 = 4, P4=3P_4 = 3, P5=2P_5 = 2라고 하자. 1, 2, 3, 4, 5 순서로 서면 1번 사람은 3분, 2번 사람은 3+1=43+1=4분, 3번 사람은 3+1+4=83+1+4=8분, 4번 사람은 3+1+4+3=113+1+4+3=11분, 5번 사람은 3+1+4+3+2=133+1+4+3+2=13분이 걸려서 합이 3+4+8+11+13=393+4+8+11+13=39분이다. 2, 5, 1, 4, 3 순서로 서면 각각 1분, 3분, 6분, 9분, 13분이 걸려서 합이 32분이 되고, 이보다 더 작게 만들 수는 없다.

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

입력

첫째 줄에 사람의 수 NN (1N10001 \le N \le 1000)이 주어진다.

둘째 줄에 각 사람이 돈을 인출하는 데 걸리는 시간 P1,P2,,PNP_1, P_2, \dots, P_N이 공백으로 구분되어 주어진다 (1Pi10001 \le P_i \le 1000).

출력

첫째 줄에 각 사람이 돈을 인출하는 데 필요한 시간의 합의 최솟값을 출력한다.