T(n)=aT(n/b)+f(n)
Compare f(n) with n^(log_b a).
O((V+E) log V)
Binary heap adjacency-list implementation.
dp[i][w]=max(skip,take)
Classic 0/1 dynamic-programming transition.