NicheLibrary

This documentation is automatically generated by competitive-verifier/competitive-verifier

View the Project on GitHub NotLeonian/NicheLibrary

:heavy_check_mark: verify/example-yosupo-deque.test.cpp

Depends on

Code

// competitive-verifier: PROBLEM https://judge.yosupo.jp/problem/deque

#include <iostream>

#include "../example/deque.hpp"

int main() {
    int q;
    std::cin >> q;
    deque<int> dq(q);
    while (q--) {
        int type;
        std::cin >> type;
        if (type == 0) {
            int x;
            std::cin >> x;
            dq.push_left(x);
        } else if (type == 1) {
            int x;
            std::cin >> x;
            dq.push_right(x);
        } else if (type == 2) {
            dq.pop_left();
        } else if (type == 3) {
            dq.pop_right();
        } else {
            int i;
            std::cin >> i;
            std::cout << dq[i] << "\n";
        }
    }
}
#line 1 "verify/example-yosupo-deque.test.cpp"
// competitive-verifier: PROBLEM https://judge.yosupo.jp/problem/deque

#include <iostream>

#line 1 "example/deque.hpp"



#include <vector>

template <class T> struct deque {
    int begin, end;
    std::vector<T> data;

    deque(int q) : begin(q), end(q) { data.resize(2 * q); }

    void push_left(const T x) {
        --begin;
        data[begin] = x;
    }

    void push_right(const T x) {
        data[end] = x;
        ++end;
    }

    void pop_left() { ++begin; }

    void pop_right() { --end; }

    T &operator[](int i) { return data[begin + i]; }
};


#line 6 "verify/example-yosupo-deque.test.cpp"

int main() {
    int q;
    std::cin >> q;
    deque<int> dq(q);
    while (q--) {
        int type;
        std::cin >> type;
        if (type == 0) {
            int x;
            std::cin >> x;
            dq.push_left(x);
        } else if (type == 1) {
            int x;
            std::cin >> x;
            dq.push_right(x);
        } else if (type == 2) {
            dq.pop_left();
        } else if (type == 3) {
            dq.pop_right();
        } else {
            int i;
            std::cin >> i;
            std::cout << dq[i] << "\n";
        }
    }
}

Test cases

Env Name Status Elapsed Memory
g++ example_00 :heavy_check_mark: AC 4 ms 3 MB
g++ max_random_00 :heavy_check_mark: AC 301 ms 7 MB
g++ max_random_01 :heavy_check_mark: AC 353 ms 7 MB
g++ max_random_02 :heavy_check_mark: AC 282 ms 7 MB
g++ max_random_03 :heavy_check_mark: AC 212 ms 7 MB
g++ max_random_04 :heavy_check_mark: AC 223 ms 7 MB
g++ max_random_05 :heavy_check_mark: AC 136 ms 7 MB
g++ max_random_06 :heavy_check_mark: AC 152 ms 7 MB
g++ max_random_07 :heavy_check_mark: AC 400 ms 7 MB
g++ max_random_08 :heavy_check_mark: AC 311 ms 7 MB
g++ max_random_09 :heavy_check_mark: AC 267 ms 7 MB
g++ max_random_10 :heavy_check_mark: AC 308 ms 7 MB
g++ max_random_11 :heavy_check_mark: AC 248 ms 7 MB
g++ max_random_12 :heavy_check_mark: AC 214 ms 7 MB
g++ max_random_13 :heavy_check_mark: AC 303 ms 7 MB
g++ max_random_14 :heavy_check_mark: AC 333 ms 7 MB
g++ max_random_15 :heavy_check_mark: AC 226 ms 7 MB
g++ max_random_16 :heavy_check_mark: AC 419 ms 7 MB
g++ max_random_17 :heavy_check_mark: AC 249 ms 7 MB
g++ max_random_18 :heavy_check_mark: AC 480 ms 7 MB
g++ max_random_19 :heavy_check_mark: AC 229 ms 7 MB
g++ random_00 :heavy_check_mark: AC 174 ms 6 MB
g++ random_01 :heavy_check_mark: AC 224 ms 7 MB
g++ random_02 :heavy_check_mark: AC 28 ms 4 MB
g++ random_03 :heavy_check_mark: AC 179 ms 7 MB
g++ random_04 :heavy_check_mark: AC 120 ms 5 MB
g++ small_00 :heavy_check_mark: AC 5 ms 4 MB
g++ small_01 :heavy_check_mark: AC 4 ms 4 MB
g++ small_02 :heavy_check_mark: AC 4 ms 4 MB
g++ small_03 :heavy_check_mark: AC 4 ms 4 MB
g++ small_04 :heavy_check_mark: AC 4 ms 4 MB
g++ small_05 :heavy_check_mark: AC 4 ms 4 MB
g++ small_06 :heavy_check_mark: AC 4 ms 4 MB
g++ small_07 :heavy_check_mark: AC 4 ms 4 MB
g++ small_08 :heavy_check_mark: AC 4 ms 4 MB
g++ small_09 :heavy_check_mark: AC 4 ms 4 MB
clang++ example_00 :heavy_check_mark: AC 5 ms 4 MB
clang++ max_random_00 :heavy_check_mark: AC 218 ms 7 MB
clang++ max_random_01 :heavy_check_mark: AC 210 ms 7 MB
clang++ max_random_02 :heavy_check_mark: AC 278 ms 7 MB
clang++ max_random_03 :heavy_check_mark: AC 218 ms 7 MB
clang++ max_random_04 :heavy_check_mark: AC 245 ms 7 MB
clang++ max_random_05 :heavy_check_mark: AC 155 ms 7 MB
clang++ max_random_06 :heavy_check_mark: AC 136 ms 7 MB
clang++ max_random_07 :heavy_check_mark: AC 510 ms 7 MB
clang++ max_random_08 :heavy_check_mark: AC 309 ms 7 MB
clang++ max_random_09 :heavy_check_mark: AC 344 ms 7 MB
clang++ max_random_10 :heavy_check_mark: AC 275 ms 7 MB
clang++ max_random_11 :heavy_check_mark: AC 228 ms 7 MB
clang++ max_random_12 :heavy_check_mark: AC 344 ms 7 MB
clang++ max_random_13 :heavy_check_mark: AC 299 ms 7 MB
clang++ max_random_14 :heavy_check_mark: AC 329 ms 7 MB
clang++ max_random_15 :heavy_check_mark: AC 226 ms 7 MB
clang++ max_random_16 :heavy_check_mark: AC 278 ms 7 MB
clang++ max_random_17 :heavy_check_mark: AC 246 ms 7 MB
clang++ max_random_18 :heavy_check_mark: AC 336 ms 7 MB
clang++ max_random_19 :heavy_check_mark: AC 186 ms 7 MB
clang++ random_00 :heavy_check_mark: AC 183 ms 6 MB
clang++ random_01 :heavy_check_mark: AC 219 ms 7 MB
clang++ random_02 :heavy_check_mark: AC 31 ms 4 MB
clang++ random_03 :heavy_check_mark: AC 212 ms 7 MB
clang++ random_04 :heavy_check_mark: AC 118 ms 6 MB
clang++ small_00 :heavy_check_mark: AC 5 ms 4 MB
clang++ small_01 :heavy_check_mark: AC 4 ms 4 MB
clang++ small_02 :heavy_check_mark: AC 4 ms 4 MB
clang++ small_03 :heavy_check_mark: AC 4 ms 4 MB
clang++ small_04 :heavy_check_mark: AC 4 ms 4 MB
clang++ small_05 :heavy_check_mark: AC 4 ms 4 MB
clang++ small_06 :heavy_check_mark: AC 4 ms 4 MB
clang++ small_07 :heavy_check_mark: AC 4 ms 4 MB
clang++ small_08 :heavy_check_mark: AC 4 ms 4 MB
clang++ small_09 :heavy_check_mark: AC 4 ms 4 MB
Back to top page