fork download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. deque <int> d;
  8.  
  9. int n, q;
  10.  
  11. scanf("%d", &q);
  12.  
  13. bool reversed = false;
  14.  
  15. while (q--)
  16. {
  17. string s; cin >> s;
  18.  
  19. if (s == "push_back")
  20. {
  21. scanf("%d", &n);
  22.  
  23. reversed ? d.push_front(n) : d.push_back(n);
  24. }
  25. else if (s == "toFront")
  26. {
  27. scanf("%d", &n);
  28.  
  29. reversed ? d.push_back(n) : d.push_front(n);
  30. }
  31. else if (s == "back")
  32. {
  33. if(d.empty())
  34. printf("%s\n", "No job for Ada?");
  35. else
  36. if(reversed)
  37. {
  38. printf("%d\n", d.front());
  39. d.pop_front();
  40. }
  41. else
  42. {
  43. printf("%d\n", d.back());
  44. d.pop_back();
  45. }
  46. }
  47. else if (s == "front")
  48. {
  49. if(d.empty())
  50. printf("%s\n", "No job for Ada?");
  51. else
  52. if(reversed)
  53. {
  54. printf("%d\n", d.back());
  55. d.pop_back();
  56. }
  57. else
  58. {
  59. printf("%d\n", d.front());
  60. d.pop_front();
  61. }
  62. }
  63. else if (s == "reverse")
  64. reversed == !reversed;
  65. }
  66.  
  67. return 0;
  68. }
Success #stdin #stdout 0s 4200KB
stdin
15
toFront 93
front
back
reverse
back
reverse
toFront 80
push_back 53
push_back 50
front
front
reverse
push_back 66
reverse
front
stdout
93
No job for Ada?
No job for Ada?
80
53
50