#include <bits/stdc++.h>
using namespace std;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int N;
cin>>N;
int tab[N];
vector<int> kolejka;
for (int i=0;i<N;i++){
cin>>tab[i];
if (i==0 or tab[i]>kolejka[(int)kolejka.size()-1]){
kolejka.push_back(tab[i]);
// cout<<tab[i]<<" ";
}
}
// cout<<"\n";
reverse(kolejka.begin(),kolejka.end());
int ans=(int)kolejka.size();
for (int i=N-1;i>=1;i--){
while (!kolejka.empty() and kolejka[(int)kolejka.size()-1]<=tab[i]){
kolejka.pop_back();
}
kolejka.push_back(tab[i]);
ans=max(ans,(int)kolejka.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 22 23 24 25 26 27 28 29 | #include <bits/stdc++.h> using namespace std; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int N; cin>>N; int tab[N]; vector<int> kolejka; for (int i=0;i<N;i++){ cin>>tab[i]; if (i==0 or tab[i]>kolejka[(int)kolejka.size()-1]){ kolejka.push_back(tab[i]); // cout<<tab[i]<<" "; } } // cout<<"\n"; reverse(kolejka.begin(),kolejka.end()); int ans=(int)kolejka.size(); for (int i=N-1;i>=1;i--){ while (!kolejka.empty() and kolejka[(int)kolejka.size()-1]<=tab[i]){ kolejka.pop_back(); } kolejka.push_back(tab[i]); ans=max(ans,(int)kolejka.size()); } cout<<ans<<"\n"; } |
English