Once the priority queue is added, it's worth polishing the implementation of the Dijkstra to improve the running time