fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <cmath>
  4. #include <algorithm>
  5. #include <set>
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10. string s;
  11. int N, Q;
  12. cin >> N >> Q;
  13. cin >> s;
  14. string p;
  15. for (int i = 0; i < Q; i++) {
  16. cin >> p;
  17. if (p == "substr") {
  18. int start, end;
  19. cin >> start >> end;
  20. cout << s.substr(start-1, end-start+1) << endl;
  21. }
  22. else if (p == "sort") {
  23. int start, end;
  24. cin >> start >> end;
  25. // Make sure start <= end
  26. if (start <= end) {
  27. sort(s.begin() + start - 1, s.begin() + end);
  28. }
  29. }
  30. else if (p == "pop_back") {
  31. s.pop_back();
  32. }
  33. else if (p == "back") {
  34. cout << s.back() << endl;
  35. }
  36. else if (p == "front") {
  37. cout << s.front() << endl;
  38. }
  39. else if (p == "push_back") {
  40. char d;
  41. cin >> d;
  42. s.push_back(d);
  43. }
  44. else if (p == "reverse") {
  45. int start, end;
  46. cin >> start >> end;
  47. if (start <= end) {
  48. reverse(s.begin() + start - 1, s.begin() + end);
  49. }
  50. }
  51. else if (p == "print") {
  52. int bero;
  53. cin >> bero;
  54. cout << s[bero - 1] << endl;
  55. }
  56. }
  57. }
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
Standard output is empty