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--;
  52. r--;
  53. sort(s.begin() + l, s.begin() + r + 1);
  54. }
  55. else if (t == "reverse")
  56. {
  57. int l, r;
  58. cin >> l >> r;
  59. l--;
  60. r--;
  61. reverse(s.begin() + l, s.begin() + r + 1);
  62. }
  63. else if (t == "print")
  64. {
  65. int pos;
  66. cin >> pos;
  67. pos--;
  68. cout << s[pos] << el;
  69. }
  70. else if (t == "substr")
  71. {
  72. int l, r;
  73. cin >> l >> r;
  74. l--;
  75. r--;
  76. cout << s.substr(l, r - l + 1) << el;
  77. }
  78. else if (t == "push_back")
  79. {
  80. char x;
  81. cin >> x;
  82. s.push_back(x);
  83. }
  84. }
  85.  
  86. return 0;
  87. }
  88.  
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
Standard output is empty