longest_palindromic_substring.cpp time O(n^2)