algo

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

View the Project on GitHub kuhaku-space/algo

:heavy_check_mark: test/yosupo/polynomial/product_of_polynomial_sequence.test.cpp

Depends on

Code

// competitive-verifier: PROBLEM https://judge.yosupo.jp/problem/product_of_polynomial_sequence
#include <iostream>
#include <utility>
#include <vector>

#include "fft/ntt.hpp"

using Mint = modint998;

std::vector<Mint> prod(const std::vector<std::vector<Mint>> &a, int l, int r) {
    if (l + 1 == r)
        return a[l];
    int m = (l + r) / 2;
    return convolution(prod(a, l, m), prod(a, m, r));
}

int main(void) {
    int n;
    std::cin >> n;
    std::vector<std::vector<Mint>> a(n);
    std::priority_queue<std::pair<int, int>, std::vector<std::pair<int, int>>, std::greater<>>
        p_que;
    for (int i = 0; i < n; ++i) {
        int d;
        std::cin >> d;
        p_que.emplace(d + 1, i);
        a[i].resize(d + 1);
        for (int j = 0; j < d + 1; ++j) std::cin >> a[i][j];
    }

    if (n == 0) {
        std::cout << 1 << '\n';
    } else {
        auto ans = prod(a, 0, n);
        for (int i = 0; i < (int)ans.size(); ++i)
            std::cout << ans[i] << (i == (int)ans.size() - 1 ? '\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: fft/ntt.hpp: line -1: no such header

Test cases

Env Name Status Elapsed Memory
g++ all_degree_one_00 :heavy_check_mark: AC 647 ms 43 MB
g++ all_degree_one_01 :heavy_check_mark: AC 663 ms 43 MB
g++ all_degree_one_02 :heavy_check_mark: AC 675 ms 43 MB
g++ all_degree_one_03 :heavy_check_mark: AC 665 ms 43 MB
g++ all_degree_one_04 :heavy_check_mark: AC 648 ms 43 MB
g++ example_00 :heavy_check_mark: AC 2 ms 4 MB
g++ example_01 :heavy_check_mark: AC 2 ms 4 MB
g++ example_02 :heavy_check_mark: AC 2 ms 4 MB
g++ max_and_zero_00 :heavy_check_mark: AC 444 ms 42 MB
g++ max_random_00 :heavy_check_mark: AC 628 ms 36 MB
g++ max_random_01 :heavy_check_mark: AC 679 ms 41 MB
g++ max_random_02 :heavy_check_mark: AC 459 ms 18 MB
g++ max_random_03 :heavy_check_mark: AC 664 ms 39 MB
g++ max_random_04 :heavy_check_mark: AC 580 ms 29 MB
g++ random_00 :heavy_check_mark: AC 575 ms 36 MB
g++ random_01 :heavy_check_mark: AC 612 ms 41 MB
g++ random_02 :heavy_check_mark: AC 389 ms 17 MB
g++ random_03 :heavy_check_mark: AC 227 ms 31 MB
g++ random_04 :heavy_check_mark: AC 221 ms 23 MB
g++ small_00 :heavy_check_mark: AC 2 ms 4 MB
g++ small_01 :heavy_check_mark: AC 2 ms 4 MB
g++ small_02 :heavy_check_mark: AC 2 ms 4 MB
g++ small_03 :heavy_check_mark: AC 2 ms 4 MB
g++ small_04 :heavy_check_mark: AC 2 ms 4 MB
g++ unbalanced_00 :heavy_check_mark: AC 715 ms 48 MB
g++ unbalanced_01 :heavy_check_mark: AC 730 ms 49 MB
g++ unbalanced_02 :heavy_check_mark: AC 701 ms 49 MB
Back to top page