結果

問題 No.914 Omiyage
ユーザー taba
提出日時 2024-08-02 16:53:07
言語 Rust
(1.83.0 + proconio)
結果
AC  
実行時間 1 ms / 2,000 ms
コード長 776 bytes
コンパイル時間 12,357 ms
コンパイル使用メモリ 402,784 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-08-02 16:53:22
合計ジャッジ時間 14,036 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 18
権限があれば一括ダウンロードができます
コンパイルメッセージ
warning: unused imports: `HashMap`, `HashSet`
 --> src/main.rs:1:24
  |
1 | use std::collections::{HashMap, HashSet};
  |                        ^^^^^^^  ^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

ソースコード

diff #

use std::collections::{HashMap, HashSet};

fn main() {
    proconio::input! {
        n: usize,
        m:usize,
        k:usize,
        a: [[u64; m]; n],
    }
    let mut dp = vec![false; k as usize + 1];
    dp[0] = true;
    for i in 0..n {
        let mut next = vec![false; k as usize + 1];
        for j in 0..k as usize {
            if !dp[j] {
                continue;
            }
            for l in 0..m {
                if j + a[i][l] as usize <= k as usize {
                    next[j + a[i][l] as usize] = true;
                }
            }
        }
        dp = next;
    }
    println!(
        "{}",
        dp.iter()
            .enumerate()
            .rfind(|x| *x.1)
            .map(|x| (k - x.0) as i64)
            .unwrap_or(-1)
    );
}
0