CP-Algorithms Library

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

View the Project on GitHub cp-algorithms/cp-algorithms-aux

:heavy_check_mark: Sum of Totient Function (verify/number_theory/totient_sum.test.cpp)

Depends on

Code

// @brief Sum of Totient Function
#define PROBLEM "https://judge.yosupo.jp/problem/sum_of_totient_function"
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2")
#include <iostream>
//#include "blazingio/blazingio.min.hpp"
#include "cp-algo/number_theory/modint.hpp"
#include "cp-algo/number_theory/dirichlet.hpp"
#include "cp-algo/util/big_alloc.hpp"
#include <bits/stdc++.h>

using namespace std;
using namespace cp_algo::math;
using base = modint<998244353>;

void solve() {
    int64_t n;
    cin >> n;
    auto H = floors(n) | views::transform([](int64_t k) {
        return base(k) * base(k + 1) / 2;
    }) | ranges::to<cp_algo::big_vector<base>>();
    auto G = floors(n) | views::transform([](int64_t k) {
        return base(k);
    }) | ranges::to<cp_algo::big_vector<base>>();
    auto F = Dirichlet_div(H, G, n);
    cout << F.back() << "\n";
}

signed main() {
    //freopen("input.txt", "r", stdin);
    ios::sync_with_stdio(0);
    cin.tie(0);
    int t = 1;
    //cin >> t;
    while(t--) {
        solve();
    }
}
Traceback (most recent call last):
  File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj_resolve/resolver.py", line 181, 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 252, in bundle
    bundler.update(path)
  File "/home/runner/.local/lib/python3.12/site-packages/competitive_verifier/oj/verify/languages/cplusplus_bundle.py", line 327, in update
    assert len(lines) == len(uncommented_lines)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError

Test cases

Env Name Status Elapsed Memory
g++ boundaryA_00 :heavy_check_mark: AC 55 ms 4 MB
g++ boundaryA_01 :heavy_check_mark: AC 120 ms 6 MB
g++ boundaryA_02 :heavy_check_mark: AC 158 ms 6 MB
g++ boundaryA_03 :heavy_check_mark: AC 171 ms 6 MB
g++ boundaryA_04 :heavy_check_mark: AC 111 ms 5 MB
g++ boundaryA_05 :heavy_check_mark: AC 101 ms 5 MB
g++ boundaryA_06 :heavy_check_mark: AC 161 ms 6 MB
g++ boundaryA_07 :heavy_check_mark: AC 195 ms 6 MB
g++ boundaryA_08 :heavy_check_mark: AC 79 ms 5 MB
g++ boundaryA_09 :heavy_check_mark: AC 113 ms 5 MB
g++ boundaryB_00 :heavy_check_mark: AC 55 ms 4 MB
g++ boundaryB_01 :heavy_check_mark: AC 120 ms 6 MB
g++ boundaryB_02 :heavy_check_mark: AC 158 ms 6 MB
g++ boundaryB_03 :heavy_check_mark: AC 171 ms 6 MB
g++ boundaryB_04 :heavy_check_mark: AC 110 ms 5 MB
g++ boundaryB_05 :heavy_check_mark: AC 101 ms 5 MB
g++ boundaryB_06 :heavy_check_mark: AC 161 ms 6 MB
g++ boundaryB_07 :heavy_check_mark: AC 197 ms 6 MB
g++ boundaryB_08 :heavy_check_mark: AC 79 ms 5 MB
g++ boundaryB_09 :heavy_check_mark: AC 113 ms 5 MB
g++ example_00 :heavy_check_mark: AC 4 ms 4 MB
g++ example_01 :heavy_check_mark: AC 4 ms 4 MB
g++ example_02 :heavy_check_mark: AC 4 ms 4 MB
g++ handmade_00 :heavy_check_mark: AC 4 ms 4 MB
g++ handmade_01 :heavy_check_mark: AC 4 ms 4 MB
g++ handmade_02 :heavy_check_mark: AC 4 ms 4 MB
g++ handmade_03 :heavy_check_mark: AC 4 ms 4 MB
g++ max_00 :heavy_check_mark: AC 197 ms 6 MB
g++ max_01 :heavy_check_mark: AC 196 ms 6 MB
g++ max_02 :heavy_check_mark: AC 196 ms 6 MB
g++ max_03 :heavy_check_mark: AC 196 ms 6 MB
g++ max_04 :heavy_check_mark: AC 195 ms 6 MB
g++ max_05 :heavy_check_mark: AC 197 ms 6 MB
g++ max_06 :heavy_check_mark: AC 197 ms 6 MB
g++ max_07 :heavy_check_mark: AC 196 ms 6 MB
g++ max_08 :heavy_check_mark: AC 196 ms 6 MB
g++ max_09 :heavy_check_mark: AC 196 ms 6 MB
g++ random_00 :heavy_check_mark: AC 56 ms 4 MB
g++ random_01 :heavy_check_mark: AC 121 ms 6 MB
g++ random_02 :heavy_check_mark: AC 159 ms 6 MB
g++ random_03 :heavy_check_mark: AC 173 ms 6 MB
g++ random_04 :heavy_check_mark: AC 111 ms 5 MB
g++ random_05 :heavy_check_mark: AC 101 ms 5 MB
g++ random_06 :heavy_check_mark: AC 161 ms 6 MB
g++ random_07 :heavy_check_mark: AC 195 ms 6 MB
g++ random_08 :heavy_check_mark: AC 79 ms 5 MB
g++ random_09 :heavy_check_mark: AC 113 ms 5 MB
g++ small_00 :heavy_check_mark: AC 4 ms 4 MB
Back to top page