In a DAG and all weights are larger than 0. Is it possible to use a max heap to get the maximum cost?
This will not work. Consider
Looking for the max cost path from (a) to (d), the max heap will follow (a)-4->(b)-2->(d) and never explore the (a)-1->(c) edge.
See here for an alternative based on a topological sort.