This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx,avx2,fma")
#include <bits/stdc++.h>
using namespace std;
//#define int long long
#define OYY 1000000005
#define mod 1000000007
#define faster ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define mid (start+end)/2
#define lim 600005
#define se second
#define fi first
set<int> st;
int main(){
faster
int n;cin>>n;
int dizi[n+1];
for(int i=0;i<n;i++)cin>>dizi[i];
int i=0,cev=0;
st.insert(INT_MAX);
while(i<n){
cev++;
set<int> ::iterator gec=st.lower_bound(dizi[i+1]);
set<int> ::iterator tut=st.upper_bound(dizi[i]);
st.insert(dizi[i]);
while(i+1<n && dizi[i]<=dizi[i+1] && *gec<=*tut){
st.insert(dizi[i+1]);
i++;
gec=st.lower_bound(dizi[i+1]);
// tut=st.upper_bound(dizi[i]);
}
i++;
}
cout<<cev<<'\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... |