Submission #32796359
Source Code Expand
use std::collections::VecDeque; use proconio::input; fn f(n: usize, xy: &[(i64, i64, i64)], s: i64) -> bool { let mut edges = vec![vec![]; n]; for (i, (x_i, y_i, p_i)) in xy.iter().copied().enumerate() { for (j, (x_j, y_j, _)) in xy.iter().copied().enumerate() { if i == j { continue; } if p_i * s >= (x_i - x_j).abs() + (y_i - y_j).abs() { edges[i].push(j); } } } let mut ok = false; for s in 0..n { let mut used = vec![false; n]; let mut deque = VecDeque::new(); deque.push_back(s); used[s] = true; while let Some(u) = deque.pop_front() { for v in edges[u].iter().copied() { if used[v] { continue; } deque.push_back(v); used[v] = true; } } if used.iter().copied().all(|b| b) { ok = true; break; } } ok } fn main() { input! { n: usize, xy: [(i64, i64, i64); n], }; let mut ng = 0_i64; let mut ok = 10_000_000_000_i64; while ok - ng > 1 { let s = ng + (ok - ng) / 2; if f(n, &xy, s) { ok = s; } else { ng = s; } } let ans = ok; println!("{}", ans); }
Submission Info
Submission Time | |
---|---|
Task | D - Jumping Takahashi 2 |
User | bouzuya |
Language | Rust (1.42.0) |
Score | 400 |
Code Size | 1380 Byte |
Status | AC |
Exec Time | 36 ms |
Memory | 2632 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_01.txt, 00_sample_02.txt |
All | 00_sample_01.txt, 00_sample_02.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 02_max_01.txt, 02_max_02.txt, 02_max_03.txt, 02_max_04.txt, 02_max_05.txt, 02_max_06.txt, 02_max_07.txt, 02_max_08.txt, 02_max_09.txt, 02_max_10.txt, 02_max_11.txt, 02_max_12.txt, 02_max_13.txt, 02_max_14.txt, 02_max_15.txt, 02_max_16.txt, 02_max_17.txt, 02_max_18.txt, 02_max_19.txt, 02_max_20.txt, 02_max_21.txt, 02_max_22.txt, 02_max_23.txt, 02_max_24.txt, 02_max_25.txt, 03_handmade_01.txt, 03_handmade_02.txt, 03_handmade_03.txt, 03_handmade_04.txt, 03_handmade_05.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_01.txt | AC | 7 ms | 2084 KiB |
00_sample_02.txt | AC | 1 ms | 2088 KiB |
01_random_01.txt | AC | 1 ms | 1968 KiB |
01_random_02.txt | AC | 1 ms | 1968 KiB |
01_random_03.txt | AC | 1 ms | 2112 KiB |
01_random_04.txt | AC | 2 ms | 2120 KiB |
01_random_05.txt | AC | 2 ms | 2036 KiB |
01_random_06.txt | AC | 4 ms | 2224 KiB |
01_random_07.txt | AC | 14 ms | 2328 KiB |
01_random_08.txt | AC | 2 ms | 2160 KiB |
02_max_01.txt | AC | 36 ms | 2492 KiB |
02_max_02.txt | AC | 28 ms | 2516 KiB |
02_max_03.txt | AC | 33 ms | 2592 KiB |
02_max_04.txt | AC | 29 ms | 2548 KiB |
02_max_05.txt | AC | 24 ms | 2540 KiB |
02_max_06.txt | AC | 29 ms | 2556 KiB |
02_max_07.txt | AC | 20 ms | 2512 KiB |
02_max_08.txt | AC | 26 ms | 2428 KiB |
02_max_09.txt | AC | 17 ms | 2512 KiB |
02_max_10.txt | AC | 25 ms | 2516 KiB |
02_max_11.txt | AC | 25 ms | 2420 KiB |
02_max_12.txt | AC | 24 ms | 2428 KiB |
02_max_13.txt | AC | 21 ms | 2596 KiB |
02_max_14.txt | AC | 27 ms | 2536 KiB |
02_max_15.txt | AC | 16 ms | 2468 KiB |
02_max_16.txt | AC | 18 ms | 2476 KiB |
02_max_17.txt | AC | 19 ms | 2556 KiB |
02_max_18.txt | AC | 18 ms | 2432 KiB |
02_max_19.txt | AC | 15 ms | 2480 KiB |
02_max_20.txt | AC | 17 ms | 2540 KiB |
02_max_21.txt | AC | 18 ms | 2600 KiB |
02_max_22.txt | AC | 18 ms | 2420 KiB |
02_max_23.txt | AC | 16 ms | 2624 KiB |
02_max_24.txt | AC | 17 ms | 2396 KiB |
02_max_25.txt | AC | 14 ms | 2488 KiB |
03_handmade_01.txt | AC | 3 ms | 2072 KiB |
03_handmade_02.txt | AC | 25 ms | 2632 KiB |
03_handmade_03.txt | AC | 34 ms | 2520 KiB |
03_handmade_04.txt | AC | 18 ms | 2528 KiB |
03_handmade_05.txt | AC | 28 ms | 2564 KiB |