https://www.acmicpc.net/problem/7662
[난이도] Gold5
[유형] Queue,Multiset
[풀이]
두 개의 Queue 혹은 Multiset을 이용해 간단히 해결할 수 있다.
#include <cstdio>
#include <cstring>
#include <set>
using namespace std;
int T,k;
int main(){
scanf("%d",&T);
while(T--){
scanf("%d",&k);
char cmd;
int v;
multiset<int> ms;
while(k--){
scanf(" %c %d",&cmd,&v);
if(cmd=='I'){
ms.insert(v);
}else if(!ms.empty()){
ms.erase(v==1? --ms.end() : ms.begin());
}
}
if(ms.empty()) puts("EMPTY");
else printf("%d %d\n",*(--ms.end()),*ms.begin());
}
}
https://github.com/has2/Problem-Solving/blob/master/boj-solved.ac/Gold5/7662.cpp
'Problem-Solving > BOJ' 카테고리의 다른 글
[BOJ/백준][Gold5] 2660 : 회장뽑기 (C++) (0) | 2021.04.25 |
---|---|
[BOJ/백준][Gold5] 13398 : 연속합 2 (C++) (0) | 2021.04.25 |
[BOJ/백준][Gold5] 13023 : ABCDE (C++) (0) | 2021.03.25 |
[BOJ/백준][Gold5] 17471 : 게리맨더링 (C++) (0) | 2021.03.25 |
[BOJ/백준][Gold5] 2470 : 두 용액 (C++) (0) | 2021.03.25 |