문제 설명에 아주 귀여운 고릴라가 있다.
각 고릴라 이름이 대응하는 정보 우선순위 큐를 해쉬맵으로 만들고, 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;
}
백준 2352 반도체 설계 혼내주기 (0) | 2021.07.21 |
---|---|
백준 7578 공장 혼내주기 (0) | 2021.07.21 |
백준 2449 전구 혼내주기 (0) | 2021.07.21 |
백준 22255 호석사우루스 혼내주기 (0) | 2021.07.21 |
백준 22254 공정 컨설턴트 호석 혼내주기 (0) | 2021.07.21 |
댓글 영역