Submission #541116

#TimeUsernameProblemLanguageResultExecution timeMemory
541116KiaratMoney (IZhO17_money)C++14
100 / 100
1260 ms57112 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...