Longest path problem - Wikipedia