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: Discrete Logarithm (verify/number_theory/discrete_log.test.cpp)

Depends on

Code

// @brief Discrete Logarithm
#define PROBLEM "https://judge.yosupo.jp/problem/discrete_logarithm_mod"
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2")
#include "cp-algo/number_theory/discrete_log.hpp"
#include <bits/stdc++.h>

using namespace std;
using namespace cp_algo;
using namespace math;
using base = dynamic_modint<>;

void solve() {
    int x, y, m;
    cin >> x >> y >> m;
    auto res = discrete_log(x, y, m);
    if(res) {
        cout << *res << "\n";
    } else {
        cout << -1 << "\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++ even_mod_00 :heavy_check_mark: AC 1198 ms 6 MB
g++ even_mod_01 :heavy_check_mark: AC 1180 ms 6 MB
g++ even_mod_impossible_00 :heavy_check_mark: AC 1107 ms 6 MB
g++ even_mod_impossible_01 :heavy_check_mark: AC 1130 ms 6 MB
g++ example_00 :heavy_check_mark: AC 4 ms 4 MB
g++ max_random_00 :heavy_check_mark: AC 1120 ms 6 MB
g++ max_random_01 :heavy_check_mark: AC 1141 ms 6 MB
g++ max_random_02 :heavy_check_mark: AC 1105 ms 6 MB
g++ max_random_yes_00 :heavy_check_mark: AC 450 ms 6 MB
g++ max_random_yes_01 :heavy_check_mark: AC 443 ms 6 MB
g++ max_random_yes_prime_00 :heavy_check_mark: AC 653 ms 6 MB
g++ max_random_yes_prime_01 :heavy_check_mark: AC 744 ms 6 MB
g++ random_00 :heavy_check_mark: AC 371 ms 6 MB
g++ random_01 :heavy_check_mark: AC 535 ms 6 MB
g++ random_02 :heavy_check_mark: AC 656 ms 6 MB
g++ random_prime_00 :heavy_check_mark: AC 950 ms 6 MB
g++ random_prime_01 :heavy_check_mark: AC 929 ms 6 MB
g++ small_00 :heavy_check_mark: AC 4 ms 4 MB
g++ small_01 :heavy_check_mark: AC 4 ms 4 MB
g++ small_02 :heavy_check_mark: AC 3 ms 4 MB
Back to top page