This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<iostream>//Author of this super code <<Zhanbyrbai Elnur>>
#include<bits/stdc++.h>//Program language <<C++>>
#include<cmath>
#include<set>
#include<algorithm>
#include<string>//DIMASH DON'T COPY MY CODE!!!
#include<vector>//YEAH ! I AM ABOUT YOU!
#include<deque>
#include<queue>
#include<map>
#include<stack>
#include <stdio.h>
#define ll long long int
#define strong string
using namespace std;
ll t,n,m,k,cnt,ans;
set<ll>st;
ll a[1000001];
void auto_solve()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    st.insert(100000000);
    cnt=100000000,ans=1;
    st.insert(a[1]);
    for(ll i=2;i<=n;i++)
    {
        if(a[i]==a[i-1])
        {
            continue;
        }
        auto it=st.lower_bound(a[i]);
        
        if(a[i]<a[i-1] || cnt!=*it)
        {
            ans++;
            cnt=*st.upper_bound(a[i]);
        }
        st.insert(a[i]);
    }
    cout<<ans;
}
int main(/* ElnuR_007 */)
{
	//freopen(".in","r",stdin);
	//freopen(".out","w",stdout)
	
    ios_base::sync_with_stdio();
    cin.tie(NULL);
    cout.tie(NULL);
    
    auto_solve();
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |