**Problem Statement:**
Given the required input arguments, write an efficient algorithm to solve the **Network Delay Time (Dijkstra)** problem. Implement the required logic as specified by standard definitions for this classic algorithmic challenge.
**Hint / Expected Approach:**
Dijkstra's algorithm with min-heap
**Edge Cases to Consider:**
- (1) Source unreachable to some node
- (2) Single node
- (3) Negative weight (Dijkstra fails)