A network has `n` nodes labeled 0..n-1 and directed edges given as [u, v, w] meaning a signal travels from u to v in w time. A signal starts at node `s`. Return the time for the signal to reach every node (the maximum shortest-path time from s), or -1 if some node is unreachable.