-Baekjoon Online Judging 11399 - ATM-
[Probs]
https://www.acmicpc.net/problem/11399
[Solve]
그리디 알고리즘...이라고 하기도 민망할 정도로 쉬운 문제였다.
Sorting을 하는 방법과 Priority-Queue를 이용하는 방법이 있다.
하지만 본인의 경우 STL의 multiset이라는 컨테이너를 사용해서 풀었다.
multiset의 경우 기존의 set에서 중복 원소를 허용하는 것으로, insert시 정렬이 가능하다.
priority_queue보다 performance가 우수하며, iteration이 가능해 Range-based for loop에도 사용할 수 있다.
[Code]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include <iostream> #include <set> int main(){ int num, tmp, ret = 0; std::multiset<int, std::less<int>> vSet; std::cin >> num; for(int i = 0; i < num; ++i){ std::cin >> tmp; vSet.insert(tmp); } tmp = 0; for(auto x : vSet) { tmp = x + tmp; ret += tmp; } std::cout << ret; } | cs |