이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
  
using namespace std;
typedef long long ll;
ll a[1000001];
set <ll> st;
ll oo=100000000;
int main(){
            
 
        ///freopen(".in","r",stdin);
        //freopen(".out","w",stdout);
          ll n;
          cin >> n;
 
        for(ll i = 1; i <= n; i++){
            cin >> a[ i ];
        }
        st.insert(oo);
        ll cnt = oo;
        ll 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;
    }   
| # | 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... |