Submission #874175

#TimeUsernameProblemLanguageResultExecution timeMemory
874175elotelo966Money (IZhO17_money)C++17
100 / 100
1060 ms58096 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...