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
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    ll n; cin >> n;
    vector<ll> tab(n);
    deque<ll> dq;
    for(ll i = 0; i < n; ++i){
        cin >> tab[i];
        if(dq.size() == 0) dq.pb(tab[i]);
        else if(dq.back() < tab[i]) dq.pb(tab[i]);
    }
    ll wyn = dq.size(), akt, pom;
    for(ll i = n-1; i >= 0; --i){
        akt = tab[i];
        while(dq.size() > 0 && dq.front() <= akt){
            dq.pop_front();
        }
        dq.push_front(akt);
        pom = dq.size();
        wyn = max(wyn, pom);
    }
    cout << wyn;
}