library-rs

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

View the Project on GitHub naoya675/library-rs

:heavy_check_mark: verification/library-checker/cartesian_tree/src/main.rs

Depends on

Code

// verification-helper: PROBLEM https://judge.yosupo.jp/problem/cartesian_tree

use itertools::Itertools;
use proconio::input;

use cartesian_tree::CartesianTree;

fn main() {
    input! {
        n: usize,
        a: [usize; n],
    }
    let mut ct = CartesianTree::new(a);

    println!("{}", ct.run(true).iter().enumerate().map(|(i, &p)| if p == n { i } else { p }).join(" "));
}

Test cases

Env Name Status Elapsed Memory
Rust almost-decreasing_00 :heavy_check_mark: AC 79 ms 58 MB
Rust almost-decreasing_01 :heavy_check_mark: AC 42 ms 28 MB
Rust almost-increasing_00 :heavy_check_mark: AC 84 ms 59 MB
Rust almost-increasing_01 :heavy_check_mark: AC 44 ms 30 MB
Rust decreasing_00 :heavy_check_mark: AC 79 ms 58 MB
Rust decreasing_01 :heavy_check_mark: AC 41 ms 28 MB
Rust example_00 :heavy_check_mark: AC 6 ms 2 MB
Rust example_01 :heavy_check_mark: AC 5 ms 2 MB
Rust increasing_00 :heavy_check_mark: AC 84 ms 59 MB
Rust increasing_01 :heavy_check_mark: AC 43 ms 28 MB
Rust random_00 :heavy_check_mark: AC 87 ms 58 MB
Rust random_01 :heavy_check_mark: AC 45 ms 28 MB
Rust random_02 :heavy_check_mark: AC 54 ms 34 MB
Rust random_03 :heavy_check_mark: AC 43 ms 26 MB
Rust random_04 :heavy_check_mark: AC 70 ms 46 MB
Rust small_00 :heavy_check_mark: AC 6 ms 2 MB
Rust small_01 :heavy_check_mark: AC 5 ms 2 MB
Rust small_02 :heavy_check_mark: AC 5 ms 2 MB
Rust small_03 :heavy_check_mark: AC 5 ms 2 MB
Rust small_04 :heavy_check_mark: AC 5 ms 2 MB
Rust small_05 :heavy_check_mark: AC 5 ms 2 MB
Rust small_06 :heavy_check_mark: AC 5 ms 2 MB
Rust small_07 :heavy_check_mark: AC 5 ms 2 MB
Rust small_08 :heavy_check_mark: AC 5 ms 2 MB
Rust small_09 :heavy_check_mark: AC 5 ms 2 MB
Back to top page