pub fn shortest_path(
    graph: &[Vec<(usize, i64)>],
    start: usize,
    inf: i64
) -> (Vec<i64>, Vec<bool>)