Attached please find the winning solution and below further explanation for the May problem set, Shortest Path. Congratulations to DavidGeldreich for a job well done!
Shortest paths are computed using Dijkstra's algorithm. Each source node is examined in parallel using tbb::parallel_reduce. Top 20 smallest/largest paths are kept/merged using std::priority_queue.