fork(14) download
  1. #include <iostream>
  2. #include <set>
  3. #include <string>
  4. using namespace std;
  5.  
  6. string longest_2char_substr(const string& str)
  7. {
  8. for (size_t len=str.length(); len; --len)
  9. {
  10. size_t i = str.length()-len;
  11. while (true)
  12. {
  13. set<char> counter(str.begin()+i,str.begin()+i+len);
  14. if (counter.size()<=2)
  15. return str.substr(i,len);
  16. if (!i--) break;
  17. }
  18. }
  19. return "";
  20. }
  21.  
  22. int main()
  23. {
  24. string input;
  25. while (getline(cin, input) && !input.empty())
  26. cout << longest_2char_substr(input) << "\n";
  27. }
Success #stdin #stdout 0s 3036KB
stdin
abbccc
abcabcabcabccc
qwertyytrewq
aaaa
aabbbcc
a
feeesdflkmsdlkfm
william
stdout
bbccc
bccc
tyyt
aaaa
bbbcc
a
eees
illi