Submission #1513263


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

// 0-indexed
template <typename T>
class fenwick_tree {
public:
    fenwick_tree(int n) : n(n), dat(n, 0) {}

    void add(int i, T value) {
        for(; i<n; i |= i + 1) {
            dat[i] += value;
        }
    }

    T sum(int i) const {
        T res = 0;
        for(; i>=0; i = (i & (i+1)) - 1) {
            res += dat[i];
        }
        return res;
    }
    // [l, r)
    T sum(int l, int r) const {
        return sum(r-1) - sum(l-1);
    }

private:
    const int n;
    std::vector<T> dat;
};


int main() {
    int Q;
    cin >> Q;
    fenwick_tree<int> bit(200001);
    while(Q--) {
        int T, X;
        cin >> T >> X;
        if(T == 1) {
            bit.add(X, 1);
        } else {
            int l = -1, r = 200000;
            while(r - l > 1) {
                int m = (l + r) / 2;
                if(bit.sum(m) >= X) {
                    r = m;
                } else {
                    l = m;
                }
            }
            cout << r << endl;
            bit.add(r, -1);
        }
    }
}

Submission Info

Submission Time
Task C - データ構造
User Suibaka
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1144 Byte
Status AC
Exec Time 301 ms
Memory 1664 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 2
AC × 18
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt
Case Name Status Exec Time Memory
sample_01.txt AC 2 ms 1024 KB
sample_02.txt AC 1 ms 1024 KB
subtask1_01.txt AC 2 ms 1024 KB
subtask1_02.txt AC 2 ms 1024 KB
subtask1_03.txt AC 1 ms 1024 KB
subtask1_04.txt AC 21 ms 1024 KB
subtask1_05.txt AC 46 ms 1152 KB
subtask1_06.txt AC 2 ms 1024 KB
subtask1_07.txt AC 120 ms 1280 KB
subtask1_08.txt AC 291 ms 1664 KB
subtask1_09.txt AC 288 ms 1664 KB
subtask1_10.txt AC 196 ms 1280 KB
subtask1_11.txt AC 197 ms 1408 KB
subtask1_12.txt AC 94 ms 1024 KB
subtask1_13.txt AC 297 ms 1664 KB
subtask1_14.txt AC 301 ms 1664 KB
subtask1_15.txt AC 269 ms 1664 KB
subtask1_16.txt AC 189 ms 1408 KB