Assignment 5. Dijkstra's shortest path algo