#include <iostream>
#include <set>
using namespace std;
int a[1<<20];
int main(){
set<int> st;
int n, Ans = 0;
cin>>n;
for (int i=1;i<=n;i++)
cin>>a[i];
for (int i=1;i<=n;){
auto u = st.upper_bound(a[i]);
int L = 0, R = 2e9, j = i;
if (u != begin(st))
L = *prev(u);
if (u != end(st))
R = *u;
while (j <= n and a[j] <= R and a[j] >= L)
L = a[j++], st.insert(L);
i = j, Ans++;
}
cout<<Ans<<'\n';
}
| # | 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... |