結果

問題 No.3041 非対称じゃんけん
コンテスト
ユーザー Blue_S
提出日時 2025-01-07 19:52:24
言語 Rust
(1.94.0 + proconio + num + itertools)
コンパイル:
/usr/bin/rustc_custom
実行:
./target/release/main
結果
TLE  
実行時間 -
コード長 902 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 827 ms
コンパイル使用メモリ 193,228 KB
実行使用メモリ 10,368 KB
最終ジャッジ日時 2026-06-07 22:49:03
合計ジャッジ時間 8,689 ms
ジャッジサーバーID
(参考情報)
judge3_1 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 24 TLE * 1 -- * 5
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

use proconio::input;

fn main() {
    input! {
        n: usize,
        f: usize,
        abc: [[usize; n]; 3],
    }
    let abc = (0..n)
        .map(|i| abc.iter().map(|inner| inner[i]).collect::<Vec<_>>())
        .collect::<Vec<_>>();

    let mut dp = vec![false; f * n + 1];
    dp[0] = true;
    let ans = abc
        .iter()
        .map(|x| {
            let mut swp = vec![false; f * n + 1];
            for (i, &k) in dp.iter().enumerate() {
                if !k {
                    continue;
                }
                for x in x {
                    swp[i + x] = true;
                }
            }
            dp = swp;
            dp.iter().filter(|dp| **dp).count()
        })
        .collect::<Vec<_>>();
    println!(
        "{}",
        ans.iter()
            .map(std::string::ToString::to_string)
            .collect::<Vec<_>>()
            .join("\n")
    );
}
0