fork download
  1. #include <bits/stdc++.h>
  2. #define ull unsigned long long
  3. #define ll long long
  4. #define el endl
  5. #define nl '\n'
  6. using namespace std;
  7. void input()
  8. {
  9. if (fopen("in.txt", "r"))
  10. {
  11. freopen("in.txt", "r", stdin);
  12. freopen("out.txt", "w", stdout);
  13. }
  14. }
  15.  
  16. int a, b, c;
  17.  
  18. int trip(int a, int b, int c)
  19. {
  20. return a * b * c;
  21. }
  22. int main()
  23. {
  24. Fast:
  25. input();
  26. //---------------------------------" " UPSOLVE---------------------------------------------------------------
  27.  
  28. int n, q;
  29. cin >> n >> q;
  30. string s;
  31. cin >> s;
  32.  
  33. while (q--)
  34. {
  35. string t;
  36. cin >> t;
  37.  
  38. if (t == "pop_back")
  39. s.pop_back();
  40.  
  41. else if (t == "front")
  42. cout << s.front() << el;
  43.  
  44. else if (t == "back")
  45. cout << s.back() << el;
  46.  
  47. else if (t == "sort")
  48. {
  49. int l, r;
  50. cin >> l >> r;
  51. l = min(l, r);
  52.  
  53. l--;
  54. r--;
  55. sort(s.begin() + l, s.begin() + r + 1);
  56. }
  57. else if (t == "reverse")
  58. {
  59. int l, r;
  60. cin >> l >> r;
  61. l = min(l, r);
  62.  
  63. l--;
  64. r--;
  65. reverse(s.begin() + l, s.begin() + r + 1);
  66. }
  67. else if (t == "print")
  68. {
  69. int pos;
  70. cin >> pos;
  71. pos--;
  72. cout << s[pos] << el;
  73. }
  74. else if (t == "substr")
  75. {
  76. int l, r;
  77. cin >> l >> r;
  78. l = min(l, r);
  79.  
  80. l--;
  81. r--;
  82. cout << s.substr(l, r - l + 1) << el;
  83. }
  84. else if (t == "push_back")
  85. {
  86. char x;
  87. cin >> x;
  88. s.push_back(x);
  89. }
  90. }
  91.  
  92. return 0;
  93. }
  94.  
Success #stdin #stdout 0.01s 5324KB
stdin
Standard input is empty
stdout
Standard output is empty