In a flow network G(V,E) with source s and sink t, an edge e in E is said to be a bottleneck edge if increasing the capacity of the edge e increases the maximum flow value in the network.
You are given a flow network G(V,E) in the adjacency list representation along with a maximum flow f from s to t in the network; the flow function f specifies the flow assignment on every edge in G. Design an O(V+E) time algorithm to output all bottleneck edges in the network.