fork(1) download
  1. #include <string>
  2. #include <vector>
  3. #include <iostream>
  4. #include <algorithm>
  5. using namespace std;
  6.  
  7. int main() {
  8. string s;
  9. cin >> s;
  10. char minSymbol = 'Z';
  11. vector <int> indicesOfMinSymbol;
  12. for (int i = 0; i < s.size(); i++) {
  13. if (s[i] < minSymbol)
  14. minSymbol = s[i];
  15. }
  16. for (int i = 0; i < s.size(); i++) {
  17. if (s[i] == minSymbol && s[i - 1] != minSymbol)
  18. indicesOfMinSymbol.push_back(i);
  19. }
  20. int indexOfMinLexicSubstr = indicesOfMinSymbol[0];
  21. for (int i = 1; i < indicesOfMinSymbol.size(); i++) {
  22. if (s.compare(indexOfMinLexicSubstr, s.size() - indicesOfMinSymbol[i], s, indicesOfMinSymbol[i], string::npos) > 0)
  23. indexOfMinLexicSubstr = indicesOfMinSymbol[i];
  24. }
  25. rotate(s.begin(), s.begin() + indexOfMinLexicSubstr, s.end());
  26. cout << s;
  27. return 0;
  28. }
Success #stdin #stdout 0s 3468KB
stdin
ARRBRRCRRARR
stdout
Standard output is empty