This documentation is automatically generated by competitive-verifier/competitive-verifier
// 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
| Env | Name | Status | Elapsed | Memory |
|---|---|---|---|---|
| g++ | 00_sample_00 |
|
2 ms | 3 MB |
| g++ | 00_sample_01 |
|
2 ms | 4 MB |
| g++ | 10_small_random_00 |
|
3 ms | 4 MB |
| g++ | 10_small_random_01 |
|
4 ms | 4 MB |
| g++ | 10_small_random_02 |
|
3 ms | 3 MB |
| g++ | 10_small_random_03 |
|
5 ms | 4 MB |
| g++ | 10_small_random_04 |
|
3 ms | 3 MB |
| g++ | 11_med_random_00 |
|
8 ms | 4 MB |
| g++ | 11_med_random_01 |
|
18 ms | 4 MB |
| g++ | 11_med_random_02 |
|
19 ms | 4 MB |
| g++ | 11_med_random_03 |
|
27 ms | 4 MB |
| g++ | 11_med_random_04 |
|
19 ms | 4 MB |
| g++ | 12_large_random_00 |
|
147 ms | 8 MB |
| g++ | 12_large_random_01 |
|
171 ms | 13 MB |
| g++ | 12_large_random_02 |
|
99 ms | 13 MB |
| g++ | 12_large_random_03 |
|
193 ms | 12 MB |
| g++ | 12_large_random_04 |
|
111 ms | 8 MB |
| g++ | 13_max_random_00 |
|
205 ms | 14 MB |
| g++ | 13_max_random_01 |
|
214 ms | 14 MB |
| g++ | 13_max_random_02 |
|
211 ms | 14 MB |
| g++ | 13_max_random_03 |
|
208 ms | 14 MB |
| g++ | 13_max_random_04 |
|
209 ms | 14 MB |
| g++ | 20_path_00 |
|
211 ms | 14 MB |
| g++ | 20_path_01 |
|
214 ms | 14 MB |
| g++ | 20_path_02 |
|
210 ms | 14 MB |
| g++ | 20_path_03 |
|
214 ms | 14 MB |
| g++ | 20_path_04 |
|
222 ms | 14 MB |
| g++ | 30_same_color_00 |
|
177 ms | 10 MB |
| g++ | 30_same_color_01 |
|
46 ms | 13 MB |
| g++ | 30_same_color_02 |
|
35 ms | 5 MB |
| g++ | 40_change_all_00 |
|
71 ms | 12 MB |
| g++ | 40_change_all_01 |
|
176 ms | 13 MB |
| g++ | 40_change_all_02 |
|
81 ms | 8 MB |
| g++ | 50_spider_00 |
|
188 ms | 14 MB |
| g++ | 50_spider_01 |
|
192 ms | 14 MB |
| g++ | 50_spider_02 |
|
205 ms | 14 MB |
| g++ | 50_spider_03 |
|
202 ms | 14 MB |
| g++ | 50_spider_04 |
|
207 ms | 14 MB |