rust-procon-lib

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

View the Project on GitHub halphy/rust-procon-lib

:heavy_check_mark: examples/library_checker_binomial_coefficient_prime_mod.rs

Depends on

Code

// competitive-verifier: PROBLEM https://judge.yosupo.jp/problem/binomial_coefficient_prime_mod

use ac_library::ModInt as mint;
use proconio::input;
use rust_procon_lib::math::binomial::binomial::BinomialCoefficient;

const SIZE: usize = 10_000_000;

fn main() {
    input! {
        t: usize,
        m: u32,
    }

    mint::set_modulus(m);

    let bc = BinomialCoefficient::<mint>::new(SIZE);

    for _ in 0..t {
        input! {
            n: usize,
            k: usize,
        }

        println!("{}", bc.binomial_coefficient(n, k));
    }
}

Test cases

Env Name Status Elapsed Memory
Rust example_00 :heavy_check_mark: AC 83 ms 119 MB
Rust example_01 :heavy_check_mark: AC 83 ms 119 MB
Rust large_random_00 :heavy_check_mark: AC 1143 ms 135 MB
Rust large_random_01 :heavy_check_mark: AC 1127 ms 135 MB
Rust large_random_02 :heavy_check_mark: AC 1121 ms 135 MB
Rust med_random_00 :heavy_check_mark: AC 947 ms 132 MB
Rust med_random_01 :heavy_check_mark: AC 972 ms 132 MB
Rust med_random_02 :heavy_check_mark: AC 967 ms 133 MB
Rust mod1000000007_00 :heavy_check_mark: AC 1109 ms 135 MB
Rust mod1000000007_01 :heavy_check_mark: AC 1120 ms 135 MB
Rust mod2_00 :heavy_check_mark: AC 887 ms 123 MB
Rust mod2_01 :heavy_check_mark: AC 889 ms 123 MB
Rust mod3_00 :heavy_check_mark: AC 889 ms 123 MB
Rust mod3_01 :heavy_check_mark: AC 891 ms 123 MB
Rust mod998244353_00 :heavy_check_mark: AC 1115 ms 135 MB
Rust mod998244353_01 :heavy_check_mark: AC 1105 ms 135 MB
Rust mod998244353_maxi_00 :heavy_check_mark: AC 1252 ms 134 MB
Rust small_random_00 :heavy_check_mark: AC 891 ms 125 MB
Rust small_random_01 :heavy_check_mark: AC 944 ms 125 MB
Rust small_random_02 :heavy_check_mark: AC 897 ms 125 MB
Back to top page