cp-documentation

This documentation is automatically generated by online-judge-tools/verification-helper

View the Project on GitHub zawa-tin/cp-documentation

:heavy_check_mark: Test/AtCoder/abc136_f.test.cpp

Depends on

Code

// #define PROBLEM "https://atcoder.jp/contests/abc136/tasks/abc136_f"
#define PROBLEM "https://onlinejudge.u-aizu.ac.jp/courses/lesson/2/ITP1/1/ITP1_1_A"

/*
 * AtCoder Beginner Contest 136 F - Enclosed Points
 * https://atcoder.jp/contests/abc136/submissions/65184629
 */


#include "../../Src/DataStructure/RectangleSum/RectangleSumOfPointCloud.hpp"

#include <vector>
#include <iostream>

#include "atcoder/modint"
using mint = atcoder::modint998244353;
struct Point {
    using P = int; // 座標の型、int, long long 
    using W = int; // 重みの型、int, long long, mint
    P x, y;
    W w;
};
struct Rect {
    using P = int;
    int l, d, r, u;
};
int main() {
#ifdef ATCODER
    std::cin.tie(nullptr);
    std::cout.tie(nullptr);
    std::ios::sync_with_stdio(false);
    int N;
    std::cin >> N;
    std::vector<Point> P(N);
    std::vector<Rect> Q(8 * N);
    const int INF = (int)1e9 + 1;
    for (int i = 0 ; i < N ; i++) {
        int x, y;
        std::cin >> x >> y;
        P[i] = {x, y, 1};
        Q[8*i+0]={x+1,-INF, INF, INF};
        Q[8*i+1]={-INF,y+1, INF, INF};
        Q[8*i+2]={-INF,-INF, x, INF};
        Q[8*i+3]={-INF,-INF, INF, y};
        Q[8*i+4]={x+1,y+1, INF, INF};
        Q[8*i+5]={-INF,y+1, x, INF};
        Q[8*i+6]={-INF,-INF, x, y};
        Q[8*i+7]={x+1,-INF, INF, y};
    }
    auto prod = zawa::RectangleSumOfPointCloud(P, Q);
    std::vector<mint> p2(N + 1, 1);
    for (int i = 1 ; i <= N ; i++) p2[i] = p2[i - 1] * mint::raw(2);
    mint ans = 0;     
    for (int i = 0 ; i < N ; i++) {
        mint val = 0;
        val += p2[prod[8*i+0]] - 1;
        val += p2[prod[8*i+1]] - 1;
        val += p2[prod[8*i+2]] - 1;
        val += p2[prod[8*i+3]] - 1;
        val -= p2[prod[8*i+4]] - 1;
        val -= p2[prod[8*i+5]] - 1;
        val -= p2[prod[8*i+6]] - 1;
        val -= p2[prod[8*i+7]] - 1;
        ans += (p2[N - 1] - 1) - val;
    }
    ans += p2[N - 1] * mint::raw(N);
    std::cout << ans.val() << '\n';
#else
    std::cout << "Hello World\n";
#endif
}
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.13.5/x64/lib/python3.13/site-packages/onlinejudge_verify/documentation/build.py", line 71, in _render_source_code_stat
    bundled_code = language.bundle(stat.path, basedir=basedir, options={'include_paths': [basedir]}).decode()
                   ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.5/x64/lib/python3.13/site-packages/onlinejudge_verify/languages/cplusplus.py", line 187, in bundle
    bundler.update(path)
    ~~~~~~~~~~~~~~^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.5/x64/lib/python3.13/site-packages/onlinejudge_verify/languages/cplusplus_bundle.py", line 401, in update
    self.update(self._resolve(pathlib.Path(included), included_from=path))
                ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.5/x64/lib/python3.13/site-packages/onlinejudge_verify/languages/cplusplus_bundle.py", line 260, in _resolve
    raise BundleErrorAt(path, -1, "no such header")
onlinejudge_verify.languages.cplusplus_bundle.BundleErrorAt: atcoder/modint: line -1: no such header
Back to top page