algo

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

View the Project on GitHub kuhaku-space/algo

:heavy_check_mark: test/aoj/challenge/2871.test.cpp

Depends on

Code

// competitive-verifier: PROBLEM https://onlinejudge.u-aizu.ac.jp/problems/2871
#include <iostream>
#include <vector>
#include "segtree/lazy_segment_tree.hpp"
#include "tree/euler_tour.hpp"

struct S {
    int g, w;
};

struct M {
    using value_type = S;
    static constexpr S id() { return S{0, 0}; }
    static constexpr S op(const S &lhs, const S &rhs) { return S{lhs.g + rhs.g, lhs.w + rhs.w}; }
};

struct F {
    using T = int;
    using value_type = int;
    static constexpr T id() { return 0; }
    static constexpr T op(const T &lhs, const T &rhs) { return lhs ^ rhs; }

    static S f(const T &lhs, S rhs) {
        if (lhs == 0) return rhs;
        std::swap(rhs.g, rhs.w);
        return rhs;
    }
};

int main(void) {
    int n, q;
    std::cin >> n >> q;
    Graph<void> g(n);
    for (int i = 0; i < n - 1; ++i) {
        int p;
        std::cin >> p;
        g.add_edges(p - 1, i + 1);
    }
    euler_tour et(g);
    std::vector<S> v(n);
    for (int i = 0; i < n; ++i) {
        char c;
        std::cin >> c;
        if (c == 'G') v[et.left(i)] = S{1, 0};
        else v[et.left(i)] = S{0, 1};
    }
    lazy_segment_tree<M, F> lst(v);
    while (q--) {
        int x;
        std::cin >> x;
        --x;
        auto [l, r] = et[x];
        lst.apply(l, r, 1);
        auto [g, w] = lst.all_prod();
        if (g >= w) std::cout << "broccoli\n";
        else std::cout << "cauliflower\n";
    }

    return 0;
}
Traceback (most recent call last):
  File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/resolver.py", line 291, in resolve
    bundled_code = language.bundle(path, basedir=basedir)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/verify/languages/cplusplus.py", line 242, in bundle
    bundler.update(path)
  File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/verify/languages/cplusplus_bundle.py", line 479, in update
    self._resolve(pathlib.Path(included), included_from=path)
  File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/verify/languages/cplusplus_bundle.py", line 286, in _resolve
    raise BundleErrorAt(path, -1, "no such header")
competitive_verifier.oj.verify.languages.cplusplus_bundle.BundleErrorAt: segtree/lazy_segment_tree.hpp: line -1: no such header

Test cases

Env Name Status Elapsed Memory
g++ 00_sample_00 :heavy_check_mark: AC 2 ms 3 MB
g++ 00_sample_01 :heavy_check_mark: AC 2 ms 4 MB
g++ 10_small_random_00 :heavy_check_mark: AC 3 ms 4 MB
g++ 10_small_random_01 :heavy_check_mark: AC 4 ms 4 MB
g++ 10_small_random_02 :heavy_check_mark: AC 3 ms 3 MB
g++ 10_small_random_03 :heavy_check_mark: AC 5 ms 4 MB
g++ 10_small_random_04 :heavy_check_mark: AC 3 ms 3 MB
g++ 11_med_random_00 :heavy_check_mark: AC 8 ms 4 MB
g++ 11_med_random_01 :heavy_check_mark: AC 18 ms 4 MB
g++ 11_med_random_02 :heavy_check_mark: AC 19 ms 4 MB
g++ 11_med_random_03 :heavy_check_mark: AC 27 ms 4 MB
g++ 11_med_random_04 :heavy_check_mark: AC 19 ms 4 MB
g++ 12_large_random_00 :heavy_check_mark: AC 147 ms 8 MB
g++ 12_large_random_01 :heavy_check_mark: AC 171 ms 13 MB
g++ 12_large_random_02 :heavy_check_mark: AC 99 ms 13 MB
g++ 12_large_random_03 :heavy_check_mark: AC 193 ms 12 MB
g++ 12_large_random_04 :heavy_check_mark: AC 111 ms 8 MB
g++ 13_max_random_00 :heavy_check_mark: AC 205 ms 14 MB
g++ 13_max_random_01 :heavy_check_mark: AC 214 ms 14 MB
g++ 13_max_random_02 :heavy_check_mark: AC 211 ms 14 MB
g++ 13_max_random_03 :heavy_check_mark: AC 208 ms 14 MB
g++ 13_max_random_04 :heavy_check_mark: AC 209 ms 14 MB
g++ 20_path_00 :heavy_check_mark: AC 211 ms 14 MB
g++ 20_path_01 :heavy_check_mark: AC 214 ms 14 MB
g++ 20_path_02 :heavy_check_mark: AC 210 ms 14 MB
g++ 20_path_03 :heavy_check_mark: AC 214 ms 14 MB
g++ 20_path_04 :heavy_check_mark: AC 222 ms 14 MB
g++ 30_same_color_00 :heavy_check_mark: AC 177 ms 10 MB
g++ 30_same_color_01 :heavy_check_mark: AC 46 ms 13 MB
g++ 30_same_color_02 :heavy_check_mark: AC 35 ms 5 MB
g++ 40_change_all_00 :heavy_check_mark: AC 71 ms 12 MB
g++ 40_change_all_01 :heavy_check_mark: AC 176 ms 13 MB
g++ 40_change_all_02 :heavy_check_mark: AC 81 ms 8 MB
g++ 50_spider_00 :heavy_check_mark: AC 188 ms 14 MB
g++ 50_spider_01 :heavy_check_mark: AC 192 ms 14 MB
g++ 50_spider_02 :heavy_check_mark: AC 205 ms 14 MB
g++ 50_spider_03 :heavy_check_mark: AC 202 ms 14 MB
g++ 50_spider_04 :heavy_check_mark: AC 207 ms 14 MB
Back to top page