ABC 333

https://atcoder.jp/contests/abc333

A. Three Threes

https://atcoder.jp/contests/abc333/tasks/abc333_a

B. Pentagon

https://atcoder.jp/contests/abc333/tasks/abc333_b

C. Repunit Trio

https://atcoder.jp/contests/abc333/tasks/abc333_c

D. Erase Leaves

https://atcoder.jp/contests/abc333/tasks/abc333_d

E. Takahashi Quest

https://atcoder.jp/contests/abc333/tasks/abc333_e

2026/2/23 カッコ列の類似問題と知った状態で自力 AC

https://atcoder-novisteps.vercel.app/workbooks/141

void solve() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    int N;
    cin >> N;
    using P = pair<int, int>;
    vector<P> queries(N);
    rep(i, N) {
        int t, x;
        cin >> t >> x;
        x--;
        queries[i] = {t, x};
    }

    // ポーションをすべて拾ってモンスターをすべてのモンスターを倒すことができるか確認
    {
        vint his(N);
        for (auto [t, x] : queries) {
            if (t == 1) {
                his[x]++;
            } else {
                his[x]--;
                if (his[x] < 0) {
                    cout << -1 << endl;
                    return;
                }
            }
        }
    }

    // 無駄にポーションを持ちたくないので、モンスターが出現するタイミングと近いポーションを拾うのが最適なので後ろから調べてどのポーションを拾うかを決定する
    vint must_use(N), monster(N);
    for (int i = N - 1; i >= 0; i--) {
        auto [t, x] = queries[i];
        if (t == 1) {
            if (monster[x]) {
                must_use[i] = 1;
                monster[x]--;
            }
        } else {
            monster[x]++;
        }
    }

    // 拾うポーションを決めた状態でシミュレーションして最大保持数を調べる
    ll sum = 0, ans = 0;
    vint portion(N);
    vint track;
    rep(i, N) {
        auto [t, x] = queries[i];
        if (t == 1) {
            int u = 0;
            if (must_use[i]) {
                sum++;
                chmax(ans, sum);
                u = 1;
            }
            track.push_back(u);
        } else {
            sum--;
        }
    }

    cout << ans << endl;
    print(track);
}

F. Bomb Game 2

https://atcoder.jp/contests/abc333/tasks/abc333_f

G. Nearest Fraction

https://atcoder.jp/contests/abc333/tasks/abc333_g