結果

問題 No.3679 なんかでっかい虫リターンズ
コンテスト
ユーザー cacampu
提出日時 2026-09-05 13:31:03
言語 Rust
(1.97.1 + proconio + num + itertools)
コンパイル:
/usr/bin/rustc_custom
実行:
./target/release/main
結果
AC  
実行時間 1 ms / 2,000 ms
+ 86µs
コード長 626 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 523 ms
コンパイル使用メモリ 193,148 KB
実行使用メモリ 9,792 KB
最終ジャッジ日時 2026-09-05 13:31:28
合計ジャッジ時間 2,465 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge4_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 17
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

use itertools::iproduct;
use proconio::{fastout, input};

#[fastout]
fn main() {
    input! {
        h: usize, w: usize,
        a: usize, b: usize,
        r1: usize, c1: usize,
        r2: usize, c2: usize,
        p: usize, q: usize,
    }
    let mut ans = usize::MAX;
    for m in iproduct!(1..=h, 1..=w) {
        if !(r1 <= m.0 && m.0 <= r2 && c1 <= m.1 && m.1 <= c2) {
            continue;
        }
        ans = ans.min(dist((a, b), m) + dist(m, (p, q)) + dist((p, q), (a, b)));
    }
    println!("{}", ans);
}
fn dist(a: (usize, usize), b: (usize, usize)) -> usize {
    a.0.abs_diff(b.0) + a.1.abs_diff(b.1)
}

0