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/aizu_online_judge_range_minimum_query.rs

Depends on

Code

// competitive-verifier: PROBLEM https://onlinejudge.u-aizu.ac.jp/courses/library/3/DSL/2/DSL_2_A

use proconio::input;
use rust_procon_lib::data_structure::segment_tree::segment_tree::SegmentTree;

const INF: usize = (1 << 31) - 1;

fn main() {
    input! {
        n: usize,
        q: usize,
    }

    let mut seg = SegmentTree::new(n, INF, |x, y| x.min(y));
    seg.construct(&vec![INF; n]);

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

        match t {
            0 => {
                input! {
                    i: usize,
                    x: usize,
                }

                seg.update(i, x);
            }
            1 => {
                input! {
                    l: usize,
                    r: usize,
                }

                println!("{}", seg.prod(l, r + 1));
            }
            _ => unreachable!(),
        }
    }
}

Test cases

Env Name Status Elapsed Memory
Rust 00_small_00.in :heavy_check_mark: AC 5 ms 2 MB
Rust 00_small_01.in :heavy_check_mark: AC 5 ms 2 MB
Rust 00_small_02.in :heavy_check_mark: AC 5 ms 2 MB
Rust 00_small_03.in :heavy_check_mark: AC 5 ms 2 MB
Rust 01_rand_00.in :heavy_check_mark: AC 5 ms 2 MB
Rust 01_rand_01.in :heavy_check_mark: AC 5 ms 2 MB
Rust 01_rand_02.in :heavy_check_mark: AC 5 ms 2 MB
Rust 01_rand_03.in :heavy_check_mark: AC 5 ms 2 MB
Rust 02_biased_00.in :heavy_check_mark: AC 5 ms 2 MB
Rust 02_biased_01.in :heavy_check_mark: AC 5 ms 2 MB
Rust 02_biased_02.in :heavy_check_mark: AC 5 ms 2 MB
Rust 02_biased_03.in :heavy_check_mark: AC 53 ms 4 MB
Rust 03_rand_00.in :heavy_check_mark: AC 6 ms 2 MB
Rust 03_rand_01.in :heavy_check_mark: AC 11 ms 2 MB
Rust 03_rand_02.in :heavy_check_mark: AC 14 ms 2 MB
Rust 03_rand_03.in :heavy_check_mark: AC 12 ms 2 MB
Rust 03_rand_04.in :heavy_check_mark: AC 101 ms 6 MB
Rust 03_rand_05.in :heavy_check_mark: AC 73 ms 6 MB
Rust 04_maximum_00.in :heavy_check_mark: AC 99 ms 6 MB
Rust 04_maximum_01.in :heavy_check_mark: AC 101 ms 6 MB
Back to top page