#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n; cin >> n;
vector<int> x(n);
vector<int> pos(n+1);
for(int i = 0; i < n; i++){
cin >> x[i];
pos[x[i]] = i;
}
multiset<int> s;
vector<bool> d(n);
int co = 0;
for(int y = 1; y <= n; y++){
if(d[pos[y]]) continue;
co++;
int l = n+1;
for(int i = pos[y]; i < n; i++){
auto it = s.upper_bound(l);
if(l > x[i] && l != n+1){
break;
}else if(it != s.end()){
if(*it < x[i]){
break;
}
}
d[i] = true;
s.insert(x[i]);
l = x[i];
}
}
cout << co << "\n";
return 0;
}
# | 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... |