結果

問題 No.3680 セグメント釣り
コンテスト
ユーザー lp_ql
提出日時 2026-07-11 14:48:05
言語 Rust
(1.97.1 + proconio + num + itertools + ACL)
コンパイル:
/usr/bin/rustc_custom
実行:
./target/release/main
結果
AC  
実行時間 115 ms / 2,000 ms
+ 89µs
コード長 567 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 664 ms
コンパイル使用メモリ 186,124 KB
実行使用メモリ 9,764 KB
最終ジャッジ日時 2026-09-05 12:39:18
合計ジャッジ時間 5,359 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge1_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 13
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

use proconio::input;
fn solve() {
    input! {
        mut s: (usize, usize),
        mut t: (usize, usize),
    }
    
    let f = |d: usize, x: usize, y: usize|{
        let d = d.min(60);
        (x.saturating_div(1 << d)).abs_diff(y.saturating_div(1 << d))
    };
    let mut ans = !0;
    if s.1 > t.1 {
        (s, t) = (t, s);
    }
    let x = t.1 - s.1;
    for i in 0..=60 {
        ans = ans.min(x + 2 * i + f(t.1 + i, s.0, t.0));
    }
    println!("{ans}");
}

fn main() {
    input! {
        t: usize,
    }
    for _ in 0..t {
        solve();
    }
}
0