fork download
  1. /* وَقُلْ رَبِّ زِدْنِي عِلْمًاً */
  2. #include <iostream>
  3. #include <algorithm>
  4. #include <cmath>
  5. #include <string>
  6. #include <iomanip>
  7. #include <stack>
  8. #include <set>
  9. #include <queue>
  10. #include <deque>
  11. #include <vector>
  12. #include <fstream>
  13. #include <cctype>
  14. #include <utility>
  15.  
  16. #define ll long long
  17. #define ld long double
  18. #define sz(v) ((int)(v).size())
  19. #define all(v) ((v).begin()),((v).end())
  20. #define setp(n) cout << fixed << setprecision(n)
  21. #define O_o ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
  22. #define yes cout << "YES\n"
  23. #define no cout << "NO\n"
  24. #define fi(nn) for(ll i = 0; i < (nn); i++)
  25. #define fj(nn) for(ll j = 0; j < (nn); j++)
  26. #define fl(nn) for (ll i = nn - 1; i >= 0; i--)
  27. #define ffi(nn,mm) for(ll i = 0; i < (nn); i++)for(ll j = 0; j < (mm); j++)
  28. #define wt ll t;cin>>t;while(t--)
  29. #define null NULL
  30.  
  31. using namespace std;
  32. int main()
  33. {
  34. O_o
  35. ll n, q;
  36. string s;
  37. cin >> n >> q >> s;
  38. while (q--) {
  39. string w;
  40. cin >> w;
  41. if (w == "pop_back") {
  42. s.pop_back();
  43. }
  44. else if (w == "front") {
  45. cout << s.front();
  46. cout << '\n';
  47. }
  48. else if (w == "back") {
  49. cout << s.back();
  50. cout << '\n';
  51. }
  52. else if (w == "sort") {
  53. ll x, y;
  54. cin >> x >> y;
  55. sort(s.begin() + min(x, y) - 1, s.begin() + max(x, y));
  56. }
  57. else if (w == "reverse") {
  58. ll x, y;
  59. cin >> x >> y;
  60. reverse(s.begin() + min(x, y) - 1, s.begin() + max(x, y));
  61. }
  62. else if (w == "print") {
  63. ll x, y;
  64. cin >> x;
  65. cout << s[x - 1];
  66. cout << '\n';
  67. }
  68. else if (w == "substr") {
  69. ll x, y;
  70. cin >> x >> y;
  71. cout << s.substr(x - 1, y - x + 1);
  72. cout << '\n';
  73. }
  74. else if (w == "push_back") {
  75. char x;
  76. cin >> x;
  77. s.push_back(x);
  78. }
  79.  
  80. }
  81. return 0;
  82. }
Success #stdin #stdout 0.01s 5288KB
stdin
18 8
assiutinupperegypt
substr 1 6
sort 5 8
pop_back
back
reverse 1 6
front
push_back i
print 4
stdout
assiut
p
n
s