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;
#define ll long long
const ll mod = 1000000007;
int b[1000001];
signed main() {
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int n;
cin >> n;
int a[n];
for(int i = 0; i < n; i++)
cin >> a[i];
set<int> s;
s.insert(-1);
b[1] = 1e6;
int l = 0, r = 1, ans = 1;
while(r < n) {
int g = *s.lower_bound(-a[l]) * -1;
if(a[r] < a[r - 1] || a[r] > b[g]) {
b[a[r - 1]] = b[g];
b[g] = a[l];
s.insert(-a[r - 1]);
for(int i = l; i < r - 1; i++) {
b[a[i]] = a[i + 1];
s.insert(-a[i]);
}
l = r;
ans++;
}
r++;
}
cout << ans;
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... |