Advertisement
Josif_tepe

Untitled

Dec 4th, 2022
655
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.73 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <stack>
  5. using namespace std;
  6. int main() {
  7.     int n;
  8.     cin >> n;
  9.     vector<int> v(n);
  10.     for(int i  =0; i < n; i++) {
  11.         cin >> v[i];
  12.     }
  13.     stack<pair<int, int> > st;
  14.     int result = 0;
  15.     for(int i =0 ; i < n; i++) {
  16.         int day = 0;
  17.         while(!st.empty() and st.top().first >= v[i]) {
  18.             day = max(day, st.top().second);
  19.             st.pop();
  20.         }
  21.         if(!st.empty()) {
  22.             ++day;
  23.         }
  24.         else {
  25.             day = 0;
  26.         }
  27.         result = max(result, day);
  28.  
  29.         st.push({v[i], day});
  30.     }
  31.     cout << result << endl;
  32.         return 0;
  33. }
  34. /*
  35. B***C4
  36.  
  37. BC4
  38.  
  39. {0, 1}
  40.  
  41.  
  42.  */
  43.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement