Нет, DFS и последовательный поиск - оптимальное решение. Просто найдите цикл и пройдитесь по его краям, чтобы найти край максимального веса. Сложность здесь на самом деле не имеет значения - вам все равно нужно было найти цикл, а сложность нахождения максимального края одинакова.