結果

問題 No.3198 Monotonic Query
ユーザー Hyoka7
提出日時 2025-07-11 22:40:57
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 243 ms / 3,000 ms
コード長 858 bytes
コンパイル時間 2,246 ms
コンパイル使用メモリ 214,648 KB
実行使用メモリ 7,844 KB
最終ジャッジ日時 2025-07-12 10:55:42
合計ジャッジ時間 8,113 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 22
権限があれば一括ダウンロードができます

ソースコード

diff #

#pragma GCC optimize("O3")
#include <bits/stdc++.h>
using namespace std;
#define rep(i, a, n) for (int i = a; i < (int)(n); i++)
using ll = long long;

int main()
{
    int q;
    cin >> q;
    deque<pair<int, int>> mq;
    int idx = 0;
    while (q--)
    {
        int t;
        cin >> t;
        if (t == 1)
        {
            idx++;
            int x;
            cin >> x;
            while (!mq.empty() && mq.back().first <= x)
            {
                mq.pop_back();
            }
            mq.push_back({x, idx});
        }
        else
        {
            int x;
            cin >> x;
            int left = idx - x + 1;
            auto it = lower_bound(mq.begin(), mq.end(), left, [](const pair<int, int> &l, int v)
                                  { return l.second < v; });
            cout << it->first << endl;
        }
    }
}
0