CCCPaste

Untitled

#include 
#include 
#include 
#include 
using namespace std;
int main() {
    int n;
    cin >> n;
    vector v(n);
    for(int i  =0; i < n; i++) {
        cin >> v[i];
    }
    stack > st;
    int result = 0;
    for(int i =0 ; i < n; i++) {
        int day = 0;
        while(!st.empty() and st.top().first >= v[i]) {
            day = max(day, st.top().second);
            st.pop();
        }
        if(!st.empty()) {
            ++day;
        }
        else {
            day = 0;
        }
        result = max(result, day);

        st.push({v[i], day});
    }
    cout << result << endl;
        return 0;
}
/*
B***C4

BC4
 
{0, 1}
 
 
 */