상세 컨텐츠

본문 제목

백준 22252 정보 상인 호석 혼내주기

혼내주기

by lazz 2021. 7. 21. 09:54

본문

반응형

 

 

문제 설명에 아주 귀여운 고릴라가 있다.

각 고릴라 이름이 대응하는 정보 우선순위 큐를 해쉬맵으로 만들고, 1번 쿼리의 경우 해당 우큐에 k개의 정보를 넣고 2번 쿼리의 경우 b개 만큼 꺼내면 된다. 

 

 

#include <bits/stdc++.h>
#define fastio ios::sync_with_stdio(0), cin.tie(0)
using namespace std;
using ll = long long;
using pii = pair<int, int>;
#define all(v) v.begin(), v.end()

int dx[8] = {1, 0, -1, 0, 1, -1, -1, 1};
int dy[8] = {0, 1, 0, -1, 1, 1, -1, -1};

unordered_map<string, priority_queue<int>> um;
int n;

void input() {
    cin >> n;
}

int main() {
    fastio;
    input();

    ll ans = 0;
    while(n--) {
        int q; string name; cin >> q >> name;
        if(q == 1) {
            int k, num; cin >> k;
            for(int i = 0; i < k; ++i) {
                cin >> num;
                um[name].push(num);
            }
        }
        else {
            int b; cin >> b;
            while(b-- && !um[name].empty()) {
                ans += um[name].top();
                um[name].pop();
            }
        }
    }
    cout << ans;
}
반응형

관련글 더보기

댓글 영역