이 문제는 정말 간단한 문제였습니다. 그냥 오름차순으로 정렬을 하고 각 시간들을 중복되는 숫자만큰 차례로 더해서 해결하였습니다.
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int n;
vector<int> perTime;
int num;
int result = 0;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> num;
perTime.push_back(num);
}
sort(perTime.begin(), perTime.end()); // 오름차순 정렬
for (int i = 0; i < n; i++) {
result += perTime[i] * (n - i); // 중복되는 만큼 곱해서 결과에 더하기
}
cout << result;
return 0;
}