#include <bits/stdc++.h>
using namespace std;
int main(){
ios_base::sync_with_stdio(false), cin.tie(nullptr);
int N;
cin >> N;
vector<int> A(N);
for(int i = 0; i < N; i++){
cin >> A[i];
}
rotate(A.begin(), next(max_element(A.begin(), A.end())), A.end());
int ans = 0;
vector<int> stk;
for(int i = N-1; i >= 0; i--){
while(!stk.empty() && A[i] >= stk.back()) stk.pop_back();
stk.push_back(A[i]);
ans = max(ans, (int)stk.size());
}
cout << ans << '\n';
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <bits/stdc++.h> using namespace std; int main(){ ios_base::sync_with_stdio(false), cin.tie(nullptr); int N; cin >> N; vector<int> A(N); for(int i = 0; i < N; i++){ cin >> A[i]; } rotate(A.begin(), next(max_element(A.begin(), A.end())), A.end()); int ans = 0; vector<int> stk; for(int i = N-1; i >= 0; i--){ while(!stk.empty() && A[i] >= stk.back()) stk.pop_back(); stk.push_back(A[i]); ans = max(ans, (int)stk.size()); } cout << ans << '\n'; } |
English