/* -*- coding: utf-8 -*- * * 3198.cc: No.3198 Monotonic Query - yukicoder */ #include #include #include using namespace std; /* constant */ const int MAX_N = 200000; /* typedef */ using dqi = deque; /* global variables */ int as[MAX_N]; /* subroutines */ /* main */ int main() { int qn; scanf("%d", &qn); int n = 0; dqi q; while (qn--) { int op, x; scanf("%d%d", &op, &x); if (op == 1) { while (! q.empty() && as[q.back()] <= x) q.pop_back(); q.push_back(n); as[n++] = x; } else { while (! q.empty() && n - q.front() > x) q.pop_front(); int maxa = ! q.empty() ? as[q.front()] : 0; printf("%d\n", maxa); } } return 0; }