PS 문제풀이

[C++] BOJ 11399 ATM

희디 2023. 5. 22. 02:27

#include <iostream>
#include <queue>
#include <array>

using namespace std;

int main(){
    ios:: sync_with_stdio(0); cin.tie();
    
    priority_queue<int, vector<int>, greater<int>> wait;
    int sum, result, N, num;
    result = 0;
 
    cin >> N;

    while (N--){
        cin >> num;
        wait.push(num);
    }
    
    sum = 0;
    while(!wait.empty()){
        int temp = wait.top();
        sum = sum + temp;
        wait.pop();
        result = result + sum;
    }
    cout << result;
}

잘못 생각했던 것. sum을 각각 구하고 더할 생각을 함. 

꺼내면서 sum을 구하고 result에 더하면서 다음 루프때 sum에 값을 더해가면 이와 같은 잘못된 점을 고칠 수 있음