$O(tklgk)$
multiset을 쓴다.
#include<cstdio> #include<set> using namespace std; int t, k, x; char c; int main() { for (scanf("%d", &t); t--;) { multiset<int> ms; for (scanf("%d", &k); k--;) { scanf(" %c%d", &c, &x); if (c == 'I') ms.insert(x); else if (!ms.empty()) x < 0 ? ms.erase(ms.begin()) : ms.erase(--ms.end()); } ms.empty() ? puts("EMPTY") : printf("%d %d\n", *ms.rbegin(), *ms.begin()); } return 0; }
댓글 없음 :
댓글 쓰기