#include <iostream>
#include <cmath>
std::string GetLongestSubstring(std::string str) {
int start = 0, end = 0, max = 0;
size_t size = str.size();
for (int i = 0; i < size - 1; i++) {
for (int j = i + 1; j < size; j++) {
if (str[i] == str[j]) {
int temp = abs(j - i - 1);
if (temp > max) {
max = temp;
start = i + 1;
end = j;
}
}
}
}
return str.substr(start, end - start);
}
int main()
{
std::string str = "zXoDc++programmingDkmq";
std::string result = GetLongestSubstring(str);
std::cout << result;
}
/*
run:
c++programming
*/