Submission #40766226


Source Code Expand

use proconio::input;

macro_rules! chmax {
    ($max_v: expr, $v: expr) => {
        if $v > $max_v {
            $max_v = $v;
            true
        } else {
            false
        }
    };
}

fn main() {
    input! {
        capital_n: usize,
        capital_w: usize,
        wv: [(usize, usize); capital_n],
    }

    let mut dp = vec![vec![0; capital_w + 1]; capital_n + 1];
    for (i, (w, v)) in wv.iter().copied().enumerate() {
        for j in 0..=capital_w {
            chmax!(
                dp[i + 1][j],
                dp[i][j].max(if j < w { 0 } else { dp[i][j - w] + v })
            );
        }
    }
    let ans = dp[capital_n].iter().copied().max().unwrap();
    println!("{}", ans);
}

Submission Info

Submission Time
Task D - Knapsack 1
User bouzuya
Language Rust (1.42.0)
Score 100
Code Size 714 Byte
Status AC
Exec Time 91 ms
Memory 81136 KiB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 13
Set Name Test Cases
All 0_00, 0_01, 0_02, 1_00, 1_01, 1_02, 1_03, 1_04, 1_05, 1_06, 1_07, 1_08, 1_09
Case Name Status Exec Time Memory
0_00 AC 6 ms 2108 KiB
0_01 AC 4 ms 2080 KiB
0_02 AC 1 ms 1904 KiB
1_00 AC 3 ms 2724 KiB
1_01 AC 88 ms 81136 KiB
1_02 AC 82 ms 78344 KiB
1_03 AC 86 ms 79752 KiB
1_04 AC 88 ms 79872 KiB
1_05 AC 91 ms 79796 KiB
1_06 AC 87 ms 80564 KiB
1_07 AC 87 ms 79792 KiB
1_08 AC 86 ms 79428 KiB
1_09 AC 90 ms 80544 KiB