結果

問題 No.3267 PQ Straight
コンテスト
ユーザー atcoder8
提出日時 2025-09-12 21:45:52
言語 Rust
(1.94.0 + proconio + num + itertools)
コンパイル:
/usr/bin/rustc_custom
実行:
./target/release/main
結果
WA  
実行時間 -
コード長 765 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 3,524 ms
コンパイル使用メモリ 188,564 KB
実行使用メモリ 29,796 KB
最終ジャッジ日時 2026-07-15 00:38:24
合計ジャッジ時間 7,024 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1 WA * 1
other AC * 8 WA * 14
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

use proconio::input;

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

    match solve(n) {
        Some((pp, qq)) => println!(
            "Yes\n{}\n{}",
            pp.iter()
                .map(|p| p.to_string())
                .collect::<Vec<String>>()
                .join(" "),
            qq.iter()
                .map(|p| p.to_string())
                .collect::<Vec<String>>()
                .join(" ")
        ),
        None => println!("No"),
    }
}

fn solve(n: usize) -> Option<(Vec<usize>, Vec<usize>)> {
    if n % 2 == 0 {
        return None;
    }

    let first_term = (n + 3) / 2;
    let pp = (1..=n / 2).chain(n / 2 + 1..=n).collect::<Vec<usize>>();
    let qq = (0..n).map(|i| first_term + i - pp[i]).collect();
    Some((pp, qq))
}
0