fork download
  1. /*********************************************
  2.   ❤ I Try To Do My Best ❤
  3. **********************************************/
  4. // Coded By: MidMoh -_-
  5. #include <bits/stdc++.h>
  6. #include <algorithm>
  7. #include <array>
  8. #include <bitset>
  9. #include <cassert>
  10. #include <chrono>
  11. #include <climits>
  12. #include <cmath>
  13. #include <complex>
  14. #include <cstring>
  15. #include <functional>
  16. #include <iomanip>
  17. #include <iostream>
  18. #include <map>
  19. #include <numeric>
  20. #include <queue>
  21. #include <random>
  22. #include <set>
  23. #include <vector>
  24. using namespace std;
  25. using ll =long long;
  26. #define di deque<int>
  27. #define vc vector <char>
  28. #define vs vector <string>
  29. #define si set <int>
  30. #define mii map <int,int>
  31. #define pii pair <int,int>
  32. #define vpii vector <pii>
  33. #define vi vector <int>
  34. #define vl vector <ll>
  35. #define sl set <ll>
  36. #define mll map <ll,ll>
  37. #define pll pair <ll,ll>
  38. #define dl deque <ll>
  39. #define each(a, x) for (auto &a : x)
  40. #define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
  41. #define el '\n'
  42. #define ss ' '
  43. #define all(a) a.begin(),a.end()
  44. #define pb push_back
  45. const ll MAX=2e5+5;
  46. const long double PI = acos(-1);
  47. const long double EPS = 1e-9;
  48. int main()
  49. {
  50. fast
  51. int t;
  52. cin>>t;
  53. while (t--)
  54. {
  55. int n,a[MAX]={0};
  56. stack<int>st;
  57. vector<int>v;
  58. cin>>n;
  59. for(int i=0 ;i<n ; i++)
  60. cin>>a[i];
  61. ll mx=0;
  62. for(int i=0 ; i<n ; i++)
  63. {
  64. if(a[i]>mx)//new maximum appeared so I empty all the last maximum elements
  65. {
  66. mx=a[i];
  67. while(!st.empty())
  68. {
  69. v.pb(st.top());
  70. st.pop();
  71. }
  72. }
  73. //still in the same maximum
  74. st.push(a[i]);
  75. }
  76. while(!st.empty())//empty the last maximum elements
  77. {
  78. v.pb(st.top());
  79. st.pop();
  80. }
  81. reverse(all(v));
  82. for(auto i:v)
  83. cout<<i<<ss;
  84. cout<<el;
  85. }
  86. return 0;
  87. }
Success #stdin #stdout 0.01s 5476KB
stdin
Standard input is empty
stdout
Standard output is empty