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 <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... |