結果

問題 No.3238 Shadow
コンテスト
ユーザー あるふぁ
提出日時 2026-09-16 20:17:02
言語 Rust
(1.97.1 + proconio + num + itertools + ACL)
コンパイル:
/usr/bin/rustc_custom
実行:
./target/release/main
結果
AC  
実行時間 173 ms / 2,000 ms
+ 58µs
コード長 614 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 697 ms
コンパイル使用メモリ 181,328 KB
実行使用メモリ 13,056 KB
最終ジャッジ日時 2026-09-16 20:17:08
合計ジャッジ時間 5,504 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 17
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

use proconio::input;
use ac_library::Segtree;
use ac_library::Max;

fn main(){
    input!{
        n: usize,
        p: [usize; n],
    }

    let mut seg = Segtree::<Max<usize>>::new(n);
    let mut d = vec![0; n];
    for i in 0..n{
        let x = p[i]-1;
        let mx = seg.prod(0..x);
        d[i] = mx+1;
        seg.set(x, d[i]);
    }

    let mut x = vec![n+1; n+1];
    let mut y = vec![n+1; n+1];
    for i in 0..n{
        x[d[i]] = x[d[i]].min(i+1);
        y[d[i]] = y[d[i]].min(p[i]);
    }

    for i in 1..=n{
        if x[i] != n+1{
            println!("{} {}", x[i], y[i]);
        }
    }
}
0