20250121 finished.
This commit is contained in:
parent
465899b94f
commit
d705a588f8
|
@ -444,3 +444,5 @@ mod p3287_find_the_maximum_sequence_value_of_array;
|
||||||
mod p2266_count_number_of_texts;
|
mod p2266_count_number_of_texts;
|
||||||
|
|
||||||
mod p2239_find_closest_number_to_zero;
|
mod p2239_find_closest_number_to_zero;
|
||||||
|
|
||||||
|
mod p2218_maximum_value_of_k_coins_from_piles;
|
||||||
|
|
45
src/problem/p2218_maximum_value_of_k_coins_from_piles.rs
Normal file
45
src/problem/p2218_maximum_value_of_k_coins_from_piles.rs
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
/**
|
||||||
|
* [2218] Maximum Value of K Coins From Piles
|
||||||
|
*/
|
||||||
|
pub struct Solution {}
|
||||||
|
|
||||||
|
// submission codes start here
|
||||||
|
|
||||||
|
impl Solution {
|
||||||
|
pub fn max_value_of_coins(piles: Vec<Vec<i32>>, k: i32) -> i32 {
|
||||||
|
let k = k as usize;
|
||||||
|
let mut dp = vec![-1; k + 1];
|
||||||
|
dp[0] = 0;
|
||||||
|
|
||||||
|
for pile in piles {
|
||||||
|
for i in (1..=k).rev() {
|
||||||
|
let mut value = 0;
|
||||||
|
|
||||||
|
for t in 1..=pile.len() {
|
||||||
|
value += pile[t - 1];
|
||||||
|
|
||||||
|
if i >= t && dp[i - t] != -1 {
|
||||||
|
dp[i] = dp[i].max(dp[i - t] + value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dp[k]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// submission codes end
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_2218() {
|
||||||
|
assert_eq!(
|
||||||
|
101,
|
||||||
|
Solution::max_value_of_coins(vec![vec![1, 100, 3], vec![7, 8, 9]], 2)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user