Submission #43029354
Source Code Expand
use proconio::input;
fn main() {
input! {
n: usize,
mut wsv: [(usize, usize, usize); n],
}
wsv.sort_by(|&(w1, s1, v1), &(w2, s2, v2)| {
let (w1, s1, _) = (w1 as i64, s1 as i64, v1 as i64);
let (w2, s2, _) = (w2 as i64, s2 as i64, v2 as i64);
s2.min(s1 - w2).cmp(&s1.min(s2 - w1))
});
let max_j = 10_000 * 2;
let mut dp = vec![0_usize; max_j + 1];
for (w, s, v) in wsv {
let mut next = vec![0_usize; max_j + 1];
for j in 0..=max_j {
next[j] = next[j].max(dp[j]);
if j <= s {
next[j + w] = next[j + w].max(dp[j] + v);
}
}
dp = next;
}
let ans = dp.iter().copied().max().unwrap();
println!("{}", ans);
}
Submission Info
| Submission Time | |
|---|---|
| Task | X - Tower |
| User | bouzuya |
| Language | Rust (1.42.0) |
| Score | 100 |
| Code Size | 769 Byte |
| Status | AC |
| Exec Time | 45 ms |
| Memory | 2372 KiB |
Judge Result
| Set Name | All | ||
|---|---|---|---|
| Score / Max Score | 100 / 100 | ||
| Status |
|
| Set Name | Test Cases |
|---|---|
| All | 0_00, 0_01, 0_02, 0_03, 1_00, 1_01, 1_02, 1_03, 1_04, 1_05, 1_06, 1_07, 1_08, 1_09, 1_10, 1_11, 1_12, 1_13, 1_14, 1_15, 1_16, 1_17, 1_18, 1_19, 1_20 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 0_00 | AC | 8 ms | 2136 KiB |
| 0_01 | AC | 2 ms | 2260 KiB |
| 0_02 | AC | 3 ms | 2284 KiB |
| 0_03 | AC | 2 ms | 2288 KiB |
| 1_00 | AC | 2 ms | 2232 KiB |
| 1_01 | AC | 45 ms | 2316 KiB |
| 1_02 | AC | 29 ms | 2332 KiB |
| 1_03 | AC | 36 ms | 2176 KiB |
| 1_04 | AC | 31 ms | 2296 KiB |
| 1_05 | AC | 35 ms | 2224 KiB |
| 1_06 | AC | 31 ms | 2196 KiB |
| 1_07 | AC | 33 ms | 2372 KiB |
| 1_08 | AC | 30 ms | 2312 KiB |
| 1_09 | AC | 29 ms | 2224 KiB |
| 1_10 | AC | 33 ms | 2340 KiB |
| 1_11 | AC | 37 ms | 2244 KiB |
| 1_12 | AC | 39 ms | 2216 KiB |
| 1_13 | AC | 38 ms | 2256 KiB |
| 1_14 | AC | 39 ms | 2244 KiB |
| 1_15 | AC | 38 ms | 2348 KiB |
| 1_16 | AC | 37 ms | 2300 KiB |
| 1_17 | AC | 37 ms | 2372 KiB |
| 1_18 | AC | 37 ms | 2268 KiB |
| 1_19 | AC | 37 ms | 2276 KiB |
| 1_20 | AC | 33 ms | 2248 KiB |