fork download
  1.  
  2. #include <iostream>
  3. #include <string>
  4. #include <algorithm>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10. int N, Q;
  11. string S;
  12. cin >> N >> Q >> S;
  13. for (int i = 0;i < Q;i++) {
  14. string s;
  15. cin >> s;
  16. if (s == "pop_back") {
  17. S.pop_back();
  18. N--;
  19. }
  20. else if (s == "front") {
  21. cout << S.front() << endl;
  22. }
  23. else if (s == "back") {
  24. cout << S.back() << endl;
  25. }
  26. else if (s == "sort") {
  27. int l, r;
  28. cin >> l >> r;
  29. sort(S.begin()+(l-1), S.begin() + r);
  30. }
  31. else if (s == "reverse") {
  32. int l, r;
  33. cin >> l >> r;
  34. reverse(S.begin() + (l - 1), S.begin() + r);
  35. }
  36. else if (s == "print") {
  37. int p;
  38. cin >> p;
  39. cout << S[p - 1] << endl;
  40. }
  41. else if (s == "substr") {
  42. int l, r;
  43. cin >> l >> r;
  44. cout << S.substr((l - 1), r - l + 1) << endl;
  45. }
  46. else if (s == "push_back") {
  47. char X;
  48. cin >> X;
  49. S.push_back(X);
  50. N++;
  51. }
  52. }
  53. }
Success #stdin #stdout 0.01s 5304KB
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