結果
| 問題 | No.3597 Queen Score Attack 2 |
| コンテスト | |
| ユーザー |
urectanc
|
| 提出日時 | 2026-07-24 21:35:41 |
| 言語 | Rust (1.94.0 + proconio + num + itertools) |
| 結果 |
AC
|
| 実行時間 | 87 ms / 2,000 ms |
| + 327µs | |
| コード長 | 828 bytes |
| 記録 | |
| コンパイル時間 | 1,206 ms |
| コンパイル使用メモリ | 185,440 KB |
| 実行使用メモリ | 13,824 KB |
| 最終ジャッジ日時 | 2026-07-24 21:35:52 |
| 合計ジャッジ時間 | 5,781 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 18 |
コンパイルメッセージ
warning: unused variable: `h` --> src/main.rs:5:9 | 5 | h: usize, w: usize, sx: Usize1, sy: Usize1, n: usize, | ^ help: if this is intentional, prefix it with an underscore: `_h` | = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default warning: unused variable: `w` --> src/main.rs:5:19 | 5 | h: usize, w: usize, sx: Usize1, sy: Usize1, n: usize, | ^ help: if this is intentional, prefix it with an underscore: `_w`
ソースコード
use proconio::{input, marker::Usize1};
fn main() {
input! {
h: usize, w: usize, sx: Usize1, sy: Usize1, n: usize,
xyc: [(Usize1, Usize1, i64); n],
}
let mut prev = (sx, sy);
let mut dp = [0, -1];
for &(x, y, c) in &xyc {
let mut ndp = [0, -1];
if dp[0] >= 0 && check((x, y), prev) {
ndp[0] = ndp[0].max(dp[0] + c);
}
if dp[1] >= 0 {
ndp[0] = ndp[0].max(dp[1] + c);
}
ndp[1] = ndp[1].max(dp[0]).max(dp[1]);
dp = ndp;
prev = (x, y);
}
let ans = dp.iter().max().unwrap();
println!("{ans}");
}
fn check(now: (usize, usize), prev: (usize, usize)) -> bool {
now.0 == prev.0
|| now.1 == prev.1
|| now.0 + now.1 == prev.0 + prev.1
|| now.0 + prev.1 == prev.0 + now.1
}
urectanc