단순한 그리디문제였다. 문제 예시만 봐도 알수있듯이 정렬후에 작은사람부터 먼저 ATM기를 사용하게 한다면 모든 사람이 최소한의 시간을 기다릴 수있다.
#include<iostream>
#include<queue>
#include<stack>
#include<algorithm>
using namespace std;
vector<int> a;
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
int abc;
cin >> abc;
a.push_back(abc);
}
sort(a.begin(), a.end());
int cnt = 0;
int flag = 0;
while (1) {
flag++;
for (int i = 0; i < flag; i++)
{
cnt += a[i];
}
if (flag == a.size())break;
}
cout << cnt;
return 0;
}