algo

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

View the Project on GitHub kuhaku-space/algo

:heavy_check_mark: test/yukicoder/0901.test.cpp

Depends on

Code

// competitive-verifier: PROBLEM https://yukicoder.me/problems/no/901
#include <cstdint>
#include <iostream>
#include <vector>
#include "graph/graph.hpp"
#include "segtree/segment_tree.hpp"
#include "tree/auxiliary_tree.hpp"
#include "tree/hld.hpp"

int main(void) {
    int n;
    std::cin >> n;
    Graph<std::int64_t> g(n);
    g.input_edges(n - 1, 0);
    heavy_light_decomposition hld(g);
    segment_tree<Add<std::int64_t>> st(n);
    auto f = [&](auto self, int x, int p) -> void {
        for (auto e : g[x]) {
            if (e.to() == p) continue;
            st.set(hld.get(e.to()), e.weight());
            self(self, e.to(), x);
        }
    };
    f(f, 0, -1);

    auxiliary_tree_builder at(g);
    int q;
    std::cin >> q;
    while (q--) {
        int k;
        std::cin >> k;
        std::vector<int> x(k);
        for (auto &e : x) std::cin >> e;
        auto tr = at.build(x);
        std::int64_t ans = 0;
        auto g = [&](int x, int y) { ans += st.prod(x, y); };
        auto dfs = [&](auto self, int v, int p) -> void {
            for (auto e : tr[v]) {
                if (e.to() == p) continue;
                hld.for_each_edge(tr.vertex(v), tr.vertex(e.to()), g);
                self(self, e.to(), v);
            }
        };
        dfs(dfs, 0, -1);
        std::cout << ans << '\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: graph/graph.hpp: line -1: no such header

Test cases

Env Name Status Elapsed Memory
g++ challenge01 :heavy_check_mark: AC 126 ms 23 MB
g++ sample01 :heavy_check_mark: AC 2 ms 4 MB
g++ test_1_01 :heavy_check_mark: AC 4 ms 4 MB
g++ test_1_02 :heavy_check_mark: AC 4 ms 4 MB
g++ test_1_03 :heavy_check_mark: AC 4 ms 4 MB
g++ test_1_04 :heavy_check_mark: AC 4 ms 4 MB
g++ test_1_05 :heavy_check_mark: AC 4 ms 4 MB
g++ test_2_01 :heavy_check_mark: AC 191 ms 20 MB
g++ test_2_02 :heavy_check_mark: AC 220 ms 20 MB
g++ test_2_03 :heavy_check_mark: AC 186 ms 20 MB
g++ test_2_04 :heavy_check_mark: AC 212 ms 20 MB
g++ test_2_05 :heavy_check_mark: AC 186 ms 20 MB
g++ test_3_01 :heavy_check_mark: AC 183 ms 20 MB
g++ test_3_02 :heavy_check_mark: AC 178 ms 20 MB
g++ test_3_03 :heavy_check_mark: AC 179 ms 20 MB
g++ test_3_04 :heavy_check_mark: AC 166 ms 20 MB
g++ test_3_05 :heavy_check_mark: AC 182 ms 20 MB
g++ test_4_01 :heavy_check_mark: AC 252 ms 20 MB
g++ test_4_02 :heavy_check_mark: AC 265 ms 20 MB
g++ test_4_03 :heavy_check_mark: AC 265 ms 20 MB
g++ test_4_04 :heavy_check_mark: AC 250 ms 20 MB
g++ test_4_05 :heavy_check_mark: AC 242 ms 20 MB
g++ test_5_01 :heavy_check_mark: AC 156 ms 21 MB
g++ test_5_02 :heavy_check_mark: AC 160 ms 21 MB
g++ test_5_03 :heavy_check_mark: AC 156 ms 21 MB
g++ test_5_04 :heavy_check_mark: AC 156 ms 21 MB
g++ test_5_05 :heavy_check_mark: AC 157 ms 21 MB
g++ test_6_01 :heavy_check_mark: AC 307 ms 20 MB
g++ test_6_02 :heavy_check_mark: AC 292 ms 20 MB
g++ test_6_03 :heavy_check_mark: AC 296 ms 20 MB
Back to top page