#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} */